class method
Gem.location_of_caller
(?::Integer depth) -> [ ::String, ::Integer ]
location_of_caller(depth = 1)
lib/rubygems.rb
View on GitHub ↗
# File tmp/rubies/ruby-4.0.0/lib/rubygems.rb, line 702
def self.location_of_caller(depth = 1)
caller[depth] =~ /(.*?):(\d+).*?$/i
file = $1
lineno = $2.to_i
[file, lineno]
end
The file name and line number of the caller of the caller of this method.
depth is how many layers up the call stack it should go.
e.g.,
def a; Gem.location_of_caller; end a #=> [“x.rb”, 2] # (it’ll vary depending on file name and line number)
def b; c; end def c; Gem.location_of_caller(2); end b #=> [“x.rb”, 6] # (it’ll vary depending on file name and line number)
See also
.load_yaml
.marshal_version
.load_safe_marshal
.needs
also in
4.1 · 3.4 · 3.3 · 3.2 · 3.1 · 3.0