Module: Watchdog::GermanShepard
- Defined in:
- lib/watchdog/german_shepard.rb
Class Attribute Summary collapse
-
.created ⇒ Object
Returns the value of attribute created.
Class Method Summary collapse
Class Attribute Details
.created ⇒ Object
Returns the value of attribute created.
3 4 5 |
# File 'lib/watchdog/german_shepard.rb', line 3 def created @created end |
Class Method Details
.create_guard(meth, obj) ⇒ Object
6 7 8 9 10 11 12 13 14 15 |
# File 'lib/watchdog/german_shepard.rb', line 6 def self.create_guard(meth, obj) return if created.include?([meth, obj]) created << [meth, obj] = class <<obj; self end original = .instance_method(meth) .send(:define_method, meth) do |m| Watchdog.guard(self, m) original.bind(obj).call(m) end end |
.extend_object(obj) ⇒ Object
17 18 19 20 21 22 23 24 25 |
# File 'lib/watchdog/german_shepard.rb', line 17 def self.extend_object(obj) if obj.respond_to? :method_added create_guard :method_added, obj elsif obj.respond_to? :singleton_method_added create_guard :singleton_method_added, obj else super end end |