class WolfCore::DomainObject
def self.define_attributes(*attributes)
def self.define_attributes(*attributes) self.fields += attributes attr_accessor(*attributes) define_attribute_methods(*attributes) attributes.each do |attribute| define_method(:"#{attribute}=") do |value| send(:"#{attribute}_will_change!") unless value == send(attribute) run_callbacks :attribute_change do instance_variable_set(:"@#{attribute}", value) end value end end end