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

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

Instance Method Summary collapse

Instance Method Details

#build(data) ⇒ Object



21
22
23
# File 'lib/moneta/api/data_mapper.rb', line 21

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

#property(name, type: nil, read_only: false) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
# File 'lib/moneta/api/data_mapper.rb', line 9

def property(name, type: nil, read_only: false)
  generate_accessors(name, read_only)

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

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