module BindingOfCaller::BindingExtensions

Public Instance Methods

callers() click to toggle source
# File lib/binding_of_caller/jruby_interpreted.rb, line 66
def callers
  ary = []
  n = 2
  while binding = of_caller(n)
    ary << binding
    n += 1
  end
  ary
end
frame_count() click to toggle source
# File lib/binding_of_caller/jruby_interpreted.rb, line 76
def frame_count
  callers.count - 1
end
frame_description() click to toggle source
# File lib/binding_of_caller/jruby_interpreted.rb, line 84
def frame_description
  nil
end
frame_type() click to toggle source
# File lib/binding_of_caller/jruby_interpreted.rb, line 80
def frame_type
  nil
end
of_caller(index = 1) click to toggle source
# File lib/binding_of_caller/jruby_interpreted.rb, line 61
def of_caller(index = 1)
  index += 1 # always omit this frame
  JRuby.runtime.current_context.binding_of_caller(index)
end

Protected Instance Methods

setup_binding_from_location(location) click to toggle source
# File lib/binding_of_caller/rubinius.rb, line 49
def setup_binding_from_location(location)
  binding = Binding.setup location.variables,
                          location.variables.method,
                          location.constant_scope,
                          location.variables.self,
                          location

  binding.instance_variable_set :@frame_description,
                               location.describe.gsub("{ } in", "block in")

  binding
end