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