Module: Observables::Base::ClassMethods

Defined in:
lib/observables/base.rb

Instance Method Summary collapse

Instance Method Details

#override_mutators(change_groups) ⇒ Object



82
83
84
85
86
87
88
89
90
91
92
93
# File 'lib/observables/base.rb', line 82

def override_mutators(change_groups)
  change_groups.each_pair do |change_type,methods|
    methods.each do |method|
      class_eval <<-EOS
        def #{method}(*args,&block)
          changes = changes_for(:#{change_type},:#{method},*args,&block)
          changing(:#{change_type},:trigger=>:#{method}, :changes=>changes){super}
        end
      EOS
    end
  end
end