Module: Moneta::Api::DataMapper::ClassMethods

Defined in:
lib/moneta/api/data_mapper.rb

Instance Method Summary collapse

Instance Method Details

#build(data) ⇒ Object



62
63
64
# File 'lib/moneta/api/data_mapper.rb', line 62

def build(data)
  self.new.tap { |object| object.fill(data) }
end

#property(name, base_type = nil) ⇒ Object



50
51
52
53
54
55
56
57
58
59
60
# File 'lib/moneta/api/data_mapper.rb', line 50

def property(name, base_type=nil)
  attr_accessor(name)

  # Сохраняем свойста и перезаписываем instance метод
  current_properties = instance_variable_get('@properties') || {}
  properties = instance_variable_set('@properties',
    current_properties.merge(name => base_type).merge(parents_properties)
  )

  send(:define_method, :properties) { properties }
end