instance method
Gem::Ext::CargoBuilder#extension_nesting
extension_nesting(extension)
lib/rubygems/ext/cargo_builder.rb
View on GitHub ↗
# File tmp/rubies/ruby-4.0.0/lib/rubygems/ext/cargo_builder.rb, line 104
def extension_nesting(extension)
parts = extension.to_s.split(Regexp.union([File::SEPARATOR, File::ALT_SEPARATOR].compact))
parts = parts.each_with_object([]) do |segment, final|
next if segment == "."
if segment == ".."
raise Gem::InstallError, "extension outside of gem root" if final.empty?
next final.pop
end
final << segment
end
File.join(parts[1...-1])
end
returns the directory nesting of the extension, ignoring the first part, so “ext/foo/bar/Cargo.toml” becomes “foo/bar”
See also
#darwin_target?
#ldflag_to_link_modifier
#cargo_rustc_args
#libruby_args
also in
4.1 · 3.4 · 3.3