Module: Filemaker::Model::Builder
- Defined in:
- lib/filemaker/model/builder.rb
Class Method Summary collapse
- .build(record, object) ⇒ Object
-
.collection(resultset, klass) ⇒ Object
Given an array of resultset, build out the exact same number of model objects.
Class Method Details
.build(record, object) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/filemaker/model/builder.rb', line 18 def build(record, object) object.instance_variable_set('@new_record', false) object.instance_variable_set('@record_id', record.record_id) object.instance_variable_set('@mod_id', record.mod_id) object.instance_variable_set('@portals', record.portals) record.each_key do |fm_field_name| # record.keys are all lowercase field = object.class.find_field_by_name(fm_field_name) next unless field object.attributes[field.name] = field.coerce( record[fm_field_name], object.class ) end object end |
.collection(resultset, klass) ⇒ Object
Given an array of resultset, build out the exact same number of model objects.
8 9 10 11 12 13 14 15 16 |
# File 'lib/filemaker/model/builder.rb', line 8 def collection(resultset, klass) models = [] resultset.each do |record| models << build(record, klass.new) end models end |