class Introspection::Snapshot

Attributes

methods[R]

Public Class Methods

new(object) click to toggle source
# File lib/introspection/snapshot.rb, line 9
def initialize(object)
  @methods = (object.receivers rescue []).map do |receiver|
    [:public, :protected, :private].map do |visibility|
      query_method = "#{visibility}_instance_methods"
      receiver.send(query_method, false).map do |method|
        unbound_method = receiver.instance_method(method)
        if unbound_method.owner.equal?(receiver)
          Method.new(unbound_method, visibility)
        end
      end.compact
    end