Type:
Class

An object representation of a stack frame, initialized by Kernel#caller_locations.

For example:

# caller_locations.rb
def a(skip)
  caller_locations(skip)
end
def b(skip)
  a(skip)
end
def c(skip)
  b(skip)
end

c(0..2).map do |call|
  puts call.to_s
end

Running ruby caller_locations.rb will produce:

caller_locations.rb:2:in `a'
caller_locations.rb:5:in `b'
caller_locations.rb:8:in `c'

Here's another example with a slightly different result:

# foo.rb
class Foo
  attr_accessor :locations
  def initialize(skip)
    @locations = caller_locations(skip)
  end
end

Foo.new(0..2).locations.map do |call|
  puts call.to_s
end

Now run ruby foo.rb and you should see:

init.rb:4:in `initialize'
init.rb:8:in `new'
init.rb:8:in `<main>'
to_s

to_s() Instance Public methods Returns a

2015-05-17 10:56:49
absolute_path

absolute_path() Instance Public methods Returns the full file path of this frame

2015-05-17 10:39:43
path

path() Instance Public methods Returns the file name of this frame.

2015-05-17 10:55:25
label

label() Instance Public methods Returns the label of this frame.

2015-05-17 10:51:56
lineno

lineno() Instance Public methods Returns the line number of this frame.

2015-05-17 10:53:44
inspect

inspect() Instance Public methods Returns the same as calling inspect

2015-05-17 10:47:32
base_label

base_label() Instance Public methods Returns the base label of this frame.

2015-05-17 10:44:10