Class: Reflective::MethodInfo
- Inherits:
-
Object
- Object
- Reflective::MethodInfo
- Defined in:
- lib/reflective/method_info.rb
Instance Attribute Summary collapse
-
#visibility ⇒ Object
readonly
Returns the value of attribute visibility.
Instance Method Summary collapse
-
#initialize(constant, method_name, visibility: :public) ⇒ MethodInfo
constructor
A new instance of MethodInfo.
- #owner ⇒ Object
- #private? ⇒ Boolean
- #protected? ⇒ Boolean
- #public? ⇒ Boolean
- #static? ⇒ Boolean
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
#visibility ⇒ Object (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
#owner ⇒ Object
10 11 12 |
# File 'lib/reflective/method_info.rb', line 10 def owner @method.owner end |
#private? ⇒ Boolean
22 23 24 |
# File 'lib/reflective/method_info.rb', line 22 def private? visibility == :private end |
#protected? ⇒ Boolean
18 19 20 |
# File 'lib/reflective/method_info.rb', line 18 def protected? visibility == :protected end |
#public? ⇒ Boolean
14 15 16 |
# File 'lib/reflective/method_info.rb', line 14 def public? visibility == :public end |
#static? ⇒ Boolean
26 27 28 |
# File 'lib/reflective/method_info.rb', line 26 def static? Module.instance_method(:singleton_class?).bind(owner).call end |