Module: Bogus::HasOverwritenMethods
- Defined in:
- lib/bogus/has_overwritten_methods.rb
Instance Method Summary collapse
Instance Method Details
#__overwrite__(name, method, body) ⇒ Object
7 8 9 10 11 12 |
# File 'lib/bogus/has_overwritten_methods.rb', line 7 def __overwrite__(name, method, body) return if __overwritten_methods__[name] method = method.to_proc if method __overwritten_methods__[name] = method || :no_such_method instance_eval(body) end |
#__overwritten_methods__ ⇒ Object
3 4 5 |
# File 'lib/bogus/has_overwritten_methods.rb', line 3 def __overwritten_methods__ @__overwritten_methods__ ||= {} end |
#__reset__ ⇒ Object
14 15 16 17 18 19 20 21 22 23 |
# File 'lib/bogus/has_overwritten_methods.rb', line 14 def __reset__ __overwritten_methods__.each do |name, method| method = __overwritten_methods__.delete(name) instance_eval "undef #{name}" next if method == :no_such_method define_singleton_method(name, method) end @__overwritten_methods__ = {} @__shadow__ = nil end |