Class: MR::ReadModel::FieldSet
- Inherits:
-
Object
- Object
- MR::ReadModel::FieldSet
- Includes:
- Enumerable
- Defined in:
- lib/mr/read_model/fields.rb
Instance Method Summary collapse
- #add(name, type, model_class = nil) ⇒ Object
- #each(&block) ⇒ Object
- #find(name) ⇒ Object
-
#initialize ⇒ FieldSet
constructor
A new instance of FieldSet.
- #read_all(data) ⇒ Object
Constructor Details
#initialize ⇒ FieldSet
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 |