Module: Tgios::CustomMethod::ClassMethods

Defined in:
lib/tgios/custom_method.rb

Instance Method Summary collapse

Instance Method Details

#define_custom_method(name = []) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/tgios/custom_method.rb', line 19

def define_custom_method(name=[])
  name.each do |fld|
    define_method fld do
      self.instance_variable_get(:"@#{fld}")
    end
    define_method "#{fld}=" do |value|
      old_value=self.instance_variable_get(:"@#{fld}")
      self.instance_variable_set(:"@#{fld}", value)
      @events[:value_changed].call(self, fld, old_value, value) unless @events.nil? || @events[:value_changed].nil?
    end

  end
end