module EntityStore::Event::ClassMethods
Public Instance Methods
entity_value_attribute(name, klass)
click to toggle source
# 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)
click to toggle source
# 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