class MR::ReadModel::FieldSet

Public Class Methods

new() click to toggle source
# File lib/mr/read_model/fields.rb, line 94
def initialize
  @fields = []
end

Public Instance Methods

add(name, type, model_class = nil) click to toggle source
# File lib/mr/read_model/fields.rb, line 108
def add(name, type, model_class = nil)
  @fields << Field.new(name, type).tap do |field|
    field.define_on(model_class) if model_class
  end
end
each(&block) click to toggle source
# File lib/mr/read_model/fields.rb, line 114
def each(&block)
  @fields.each(&block)
end
find(name) click to toggle source
# File lib/mr/read_model/fields.rb, line 98
def find(name)
  @fields.detect{ |f| f.name == name.to_s }
end
read_all(data) click to toggle source
# File lib/mr/read_model/fields.rb, line 102
def read_all(data)
  inject({}) do |h, field|
    h.merge(field.name => field.read(data))
  end
end