Class: Rfm::Metadata::Datum
Overview
< DelegateClass(Field)
Instance Method Summary collapse
-
#field_element_close_callback(cursor) ⇒ Object
Should return value only.
- #get_mapped_name(name, resultset) ⇒ Object
-
#main_callback(cursor) ⇒ Object
NOT sure what this method is for.
- #portal_field_element_close_callback(cursor) ⇒ Object
Instance Method Details
#field_element_close_callback(cursor) ⇒ Object
Should return value only.
34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/rfm/metadata/datum.rb', line 34 def field_element_close_callback(cursor) record = cursor.parent.object resultset = cursor.top.object name = get_mapped_name(@attributes['name'].to_s, resultset) field = resultset.[name] data = @attributes['data'] #'data' #puts ["\nDATUM", name, record.class, resultset.class, data] #puts ["\nDATUM", self.to_yaml] record[name] = field.coerce(data) end |
#get_mapped_name(name, resultset) ⇒ Object
7 8 9 10 |
# File 'lib/rfm/metadata/datum.rb', line 7 def get_mapped_name(name, resultset) #puts ["\nDATUM#get_mapped_name", "name: #{name}", "mapping: #{resultset.layout.field_mapping.to_yaml}"] (resultset && resultset.layout && resultset.layout.field_mapping[name]) || name end |
#main_callback(cursor) ⇒ Object
NOT sure what this method is for. Can’t find a reference to it.
13 14 15 16 17 18 19 |
# File 'lib/rfm/metadata/datum.rb', line 13 def main_callback(cursor) resultset = cursor.top.object name = get_mapped_name(@attributes['name'].to_s, resultset) field = resultset.[name] data = @attributes['data'] cursor.parent.object[name.downcase] = field.coerce(data) end |
#portal_field_element_close_callback(cursor) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/rfm/metadata/datum.rb', line 21 def portal_field_element_close_callback(cursor) resultset = cursor.top.object table, name = @attributes['name'].to_s.split('::') #puts ['DATUM_portal_field_element_close_callback_01', table, name].join(', ') name = get_mapped_name(name, resultset) field = resultset.[table.downcase][name.downcase] data = @attributes['data'] #puts ['DATUM_portal_field_element_close_callback_02', "cursor.parent.object.class: #{cursor.parent.object.class}", "resultset.class: #{resultset.class}", "table: #{table}", "name: #{name}", "field: #{field}", "data: #{data}"] #(puts resultset.portal_meta.to_yaml) unless field cursor.parent.object[name.downcase] = field.coerce(data) end |