Class: Gimme::EnsuresClassMethodRestoration
- Inherits:
-
Object
- Object
- Gimme::EnsuresClassMethodRestoration
- Defined in:
- lib/gimme/ensures_class_method_restoration.rb
Instance Method Summary collapse
- #ensure(method) ⇒ Object
-
#initialize(cls) ⇒ EnsuresClassMethodRestoration
constructor
A new instance of EnsuresClassMethodRestoration.
Constructor Details
#initialize(cls) ⇒ EnsuresClassMethodRestoration
Returns a new instance of EnsuresClassMethodRestoration.
3 4 5 |
# File 'lib/gimme/ensures_class_method_restoration.rb', line 3 def initialize(cls) @cls = cls end |
Instance Method Details
#ensure(method) ⇒ Object
7 8 9 10 11 12 13 14 15 16 |
# File 'lib/gimme/ensures_class_method_restoration.rb', line 7 def ensure(method) = (class << @cls; self; end) Gimme.on_reset do if real_method = Gimme.class_methods.get(@cls, method) .instance_eval { define_method method, real_method } else .send(:remove_method, method) end end end |