Module: Kvo::ClassMethods

Defined in:
lib/kvo.rb

Instance Method Summary collapse

Instance Method Details

#kvo_attr_accessor(*kvo_symbols) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/kvo.rb', line 4

def kvo_attr_accessor(*kvo_symbols)
  kvo_symbols.each do |kvo|

    class_eval "      can_fire :\#{kvo}_changed unless published_events == :any_event_is_ok\n      def \#{kvo}\n        @kvo_\#{kvo}\n      end\n      def \#{kvo}=(new_val)\n        old = @kvo_\#{kvo}\n        unless old == new_val\n          @kvo_\#{kvo}=new_val\n          fire :\#{kvo}_changed, old, new_val\n        end\n      end\n    METHODS\n  end\nend\n"