Sha256: 424aeabbddf1b157fbe1ac2a599eea71d5caa5b7c4380dd122c0b26fa20db627
Contents?: true
Size: 772 Bytes
Versions: 2
Compression:
Stored size: 772 Bytes
Contents
require "metaclass" module Introspection module Receivers class NullMetaclass def ancestors Array.new end end class NullReceiver def __metaclass__ NullMetaclass.new end def receivers Array.new end end def superklass respond_to?(:superclass) ? superclass : NullReceiver.new end def local_receivers receivers = [] receivers << __metaclass__ if Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.1.0') receivers += __metaclass__.ancestors receivers -= superklass.__metaclass__.ancestors receivers end def receivers local_receivers + superklass.receivers end end end class Object include Introspection::Receivers end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
introspection-0.0.4 | lib/introspection/receivers.rb |
introspection-0.0.3 | lib/introspection/receivers.rb |