Module: Mongomatic::Observable
- Defined in:
- lib/mongomatic/observable.rb
Defined Under Namespace
Modules: ClassMethods
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.included(base) ⇒ Object
3 4 5 |
# File 'lib/mongomatic/observable.rb', line 3 def self.included(base) base.send(:extend, ClassMethods) end |
Instance Method Details
#notify(meth, opts = {}) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/mongomatic/observable.rb', line 7 def notify(meth, opts = {}) self.class.observers.each do |observer| @observer_cache ||= {} unless observer_klass = @observer_cache[observer] @observer_cache[observer] = observer_klass = Object.const_get(observer) if Module.const_defined?(observer) end if observer_klass instance = observer_klass.new instance.send(meth, self, opts) if instance.respond_to?(meth) end end end |