Class: Reflective::MethodInfo

Inherits:
Object
  • Object
show all
Defined in:
lib/reflective/method_info.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(constant, method_name, visibility: :public) ⇒ MethodInfo

Returns a new instance of MethodInfo.



3
4
5
6
# File 'lib/reflective/method_info.rb', line 3

def initialize(constant, method_name, visibility: :public)
  @method = Module.instance_method(:instance_method).bind(constant).call(method_name)
  @visibility = visibility
end

Instance Attribute Details

#visibilityObject (readonly)

Returns the value of attribute visibility.



8
9
10
# File 'lib/reflective/method_info.rb', line 8

def visibility
  @visibility
end

Instance Method Details

#ownerObject



10
11
12
# File 'lib/reflective/method_info.rb', line 10

def owner
  @method.owner
end

#private?Boolean

Returns:

  • (Boolean)


22
23
24
# File 'lib/reflective/method_info.rb', line 22

def private?
  visibility == :private
end

#protected?Boolean

Returns:

  • (Boolean)


18
19
20
# File 'lib/reflective/method_info.rb', line 18

def protected?
  visibility == :protected
end

#public?Boolean

Returns:

  • (Boolean)


14
15
16
# File 'lib/reflective/method_info.rb', line 14

def public?
  visibility == :public
end

#static?Boolean

Returns:

  • (Boolean)


26
27
28
# File 'lib/reflective/method_info.rb', line 26

def static?
  Module.instance_method(:singleton_class?).bind(owner).call
end