module Flatter::Mapper::Mapping

Public Instance Methods

[](name) click to toggle source
# File lib/flatter/mapper/mapping.rb, line 62
def [](name)
  mappings[name.to_s].try(:read)
end
[]=(name, value) click to toggle source
# File lib/flatter/mapper/mapping.rb, line 66
def []=(name, value)
  mappings[name.to_s].try(:write, value)
end
mapping(name) click to toggle source
# File lib/flatter/mapper/mapping.rb, line 70
def mapping(name)
  mappings[name.to_s]
end
mapping_names() click to toggle source
# File lib/flatter/mapper/mapping.rb, line 54
def mapping_names
  local_mappings.map(&:name)
end
mappings() click to toggle source
# File lib/flatter/mapper/mapping.rb, line 48
def mappings
  local_mappings.each_with_object({}) do |mapping, res|
    res[mapping.name] = mapping
  end
end
read() click to toggle source
# File lib/flatter/mapper/mapping.rb, line 35
def read
  local_mappings.map(&:read_as_params).inject({}, :merge)
end
writable_mapping_names() click to toggle source
# File lib/flatter/mapper/mapping.rb, line 58
def writable_mapping_names
  mappings.select{ |_, v| !v.writer? || v.writer != false }.keys
end
write(params) click to toggle source
# File lib/flatter/mapper/mapping.rb, line 39
def write(params)
  local_mappings.each{ |mapping| mapping.write_from_params(params) }
end

Protected Instance Methods

local_mappings() click to toggle source
# File lib/flatter/mapper/mapping.rb, line 43
def local_mappings
  @_local_mappings ||= self.class.mappings.values.map{ |factory| factory.create(self) }
end