class ObjectTracker::TrackerMethod

Attributes

context[R]
name[R]

Public Class Methods

new(context, name) click to toggle source
# File lib/object_tracker/tracker_method.rb, line 5
def initialize(context, name)
  @name = name
  @context = context
end

Public Instance Methods

display_name() click to toggle source
# File lib/object_tracker/tracker_method.rb, line 21
def display_name
  return @display_name if defined? @display_name
  if Class === context || Module === context
    obj = context
    prefix = '.'
  elsif context.class === Class
    prefix = '.'
    obj = context.class
  else
    prefix = '#'
    obj = context.class
  end
  @display_name = "#{obj.name}#{prefix}#{@name}"
end
source() click to toggle source
# File lib/object_tracker/tracker_method.rb, line 10
def source
  return @source if defined? @source
  @source = source_location
  @source = @source ? @source.join(':').split('/').last(5).join('/') : 'RUBY CORE'
end
source_location() click to toggle source
# File lib/object_tracker/tracker_method.rb, line 16
def source_location
  method_handle = context.method(name)
  method_handle.source_location if method_handle
end