Module: EntityStore::Event::ClassMethods
- Defined in:
- lib/entity_store/event.rb
Instance Method Summary collapse
Instance Method Details
#entity_value_attribute(name, klass) ⇒ Object
44 45 46 47 48 49 |
# File 'lib/entity_store/event.rb', line 44 def entity_value_attribute(name, klass) define_method(name) { instance_variable_get("@#{name}") } define_method("#{name}=") do |value| instance_variable_set("@#{name}", value.is_a?(Hash) ? klass.new(value) : value) end end |
#time_attribute(*names) ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/entity_store/event.rb', line 25 def time_attribute(*names) class_eval do names.each do |name| define_method "#{name}=" do |value| if value.kind_of?(String) new_value = TimeFactory.parse(value) else new_value = value end instance_variable_set "@#{name}", new_value end define_method name do instance_variable_get "@#{name}" end end end end |