Class: MR::ReadModel::FieldSet

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/mr/read_model/fields.rb

Instance Method Summary collapse

Constructor Details

#initializeFieldSet

Returns a new instance of FieldSet.



94
95
96
# File 'lib/mr/read_model/fields.rb', line 94

def initialize
  @fields = []
end

Instance Method Details

#add(name, type, model_class = nil) ⇒ Object



108
109
110
111
112
# 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) ⇒ Object



114
115
116
# File 'lib/mr/read_model/fields.rb', line 114

def each(&block)
  @fields.each(&block)
end

#find(name) ⇒ Object



98
99
100
# File 'lib/mr/read_model/fields.rb', line 98

def find(name)
  @fields.detect{ |f| f.name == name.to_s }
end

#read_all(data) ⇒ Object



102
103
104
105
106
# 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