module Mongomatic::Observable
Public Class Methods
included(base)
click to toggle source
# File lib/mongomatic/observable.rb, line 3 def self.included(base) base.send(:extend, ClassMethods) end
Public Instance Methods
notify(meth, opts = {})
click to toggle source
# 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