Module: Tins::Expose
- Included in:
- Object
- Defined in:
- lib/tins/expose.rb
Instance Method Summary collapse
-
#expose(method_name = nil, *args, &block) ⇒ Object
Expose any (private/protected) method or internal state of this object returning the result for specing purposes.
Instance Method Details
#expose(method_name = nil, *args, &block) ⇒ Object
Expose any (private/protected) method or internal state of this object returning the result for specing purposes.
12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/tins/expose.rb', line 12 def expose(method_name = nil, *args, &block) if block instance_eval(&block) elsif method_name.nil? methods = private_methods(true) + protected_methods(true) o = dup o.singleton_class.class_eval do public(*methods) end o elsif method_name __send__(method_name, *args) end end |