Sha256: 97c80fa1a787acbcdc9db564906c3c12af7c87334c9fb75770c4dff1374c38d2
Contents?: true
Size: 1.44 KB
Versions: 3
Compression:
Stored size: 1.44 KB
Contents
require 'delegate' module Rfm module Metadata class Datum #< DelegateClass(Field) def get_mapped_name(name, resultset) (resultset && resultset.layout && resultset.layout.field_mapping[name]) || name end def main_callback(cursor) resultset = cursor.top.object name = get_mapped_name(@attributes['name'].to_s, resultset) field = resultset.field_meta[name] data = @attributes['data'] cursor.parent.object[name.downcase] = field.coerce(data) end def portal_callback(cursor) resultset = cursor.top.object table, name = @attributes['name'].to_s.split('::') #puts ['DATUM_portal_callback_01', table, name].join(', ') name = get_mapped_name(name, resultset) field = resultset.portal_meta[table.downcase][name.downcase] data = @attributes['data'] #puts ['DATUM_portal_callback_02', resultset.class, table, name, field, data].join(', ') #(y resultset.portal_meta) unless field cursor.parent.object[name.downcase] = field.coerce(data) end # Should return value only. def handler_callback(cursor) record = cursor.parent.object resultset = cursor.top.object name = get_mapped_name(@attributes['name'].to_s, resultset) field = resultset.field_meta[name] data = @attributes['data'] #puts ["\nDATUM", name, record.class, resultset.class, data] record[name] = field.coerce(data) end end # Field end # Metadata end # Rfm
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
ginjo-rfm-3.0.4 | lib/rfm/metadata/datum.rb |
ginjo-rfm-3.0.1 | lib/rfm/metadata/datum.rb |
ginjo-rfm-3.0.0 | lib/rfm/metadata/datum.rb |