lib/rocx/elements/base_container.rb in rocx-0.5.7 vs lib/rocx/elements/base_container.rb in rocx-0.5.8

- old
+ new

@@ -10,29 +10,33 @@ end def value_property(name) attr_reader name - define_method "#{name}=" do |value| - class_name = name.to_s.split("_").map(&:capitalize).join + class_eval <<-CODE, __FILE__, __LINE__ + 1 + def #{name}=(value) + class_name = "#{name}".split.map(&:capitalize).join prop_class = Rocx::Properties.const_get class_name instance_variable_set "@#{name}", prop_class.new(value) end + CODE properties << name end def property(name) - define_method "#{name}" do - class_name = name.to_s.split("_").map(&:capitalize).join + class_eval <<-CODE, __FILE__, __LINE__ + 1 + def #{name} + class_name = "#{name}".split("_").map(&:capitalize).join prop_class = Rocx::Properties.const_get class_name if instance_variable_get("@#{name}").nil? instance_variable_set "@#{name}", prop_class.new end instance_variable_get "@#{name}" end + CODE properties << name end def properties