Module: BaseDatafier::DataFieldsClassMethods

Defined in:
lib/datafy/BaseDatafier.rb

Instance Method Summary collapse

Instance Method Details

#attr_fields(fields) ⇒ Object



61
62
63
64
65
66
67
68
69
70
71
72
73
# File 'lib/datafy/BaseDatafier.rb', line 61

def attr_fields fields
  logger.debug "#{self.class}::#{__method__}"
  logger.debug "fields: #{fields}"
  return if fields.nil?
  props = properties
  fields.each do |name,hash|
      prop        = hash[:property]
      props[prop] = name
      self.instance_eval do
          attr_accessor hash[:property].to_s
      end
  end
end

#details_fieldsObject

end



106
107
108
109
110
111
112
# File 'lib/datafy/BaseDatafier.rb', line 106

def details_fields
  # puts "#{self.class}::#{__method__}"
  if @details_fields.nil?
      register_fields(nil)
  end
  @details_fields
end

#logFileNameObject



57
58
59
# File 'lib/datafy/BaseDatafier.rb', line 57

def logFileName
    @logFileName ||= FileProvider.getDataFileName("#{self.class}.log")
end

#loggerObject



53
54
55
# File 'lib/datafy/BaseDatafier.rb', line 53

def logger
    @logger ||= Logger.new(logFileName,5,1024000)
end

#prop_accessor(*prop_groups) ⇒ Object



75
76
77
78
79
80
81
82
83
# File 'lib/datafy/BaseDatafier.rb', line 75

def prop_accessor *prop_groups
    logger.debug "#{self}::#{__method__}"
    logger.debug *prop_groups.inspect
    prop_groups.each do |props|
        logger.debug    props
        attr_fields     props
        register_fields props
    end
end

#propertiesObject



85
86
87
# File 'lib/datafy/BaseDatafier.rb', line 85

def properties
  @properties ||= Hash.new
end

#register_fields(fields) ⇒ Object



89
90
91
92
93
94
95
96
# File 'lib/datafy/BaseDatafier.rb', line 89

def register_fields fields
  logger.debug "#{self.class}::#{__method__} fields: #{fields}"
  return if fields.nil?
  @data_fields = {} if @data_fields.nil?
  @data_fields.merge!(fields) unless fields.nil?
  @data_fields.merge!(BASE_HARVEST_DATA_FIELDS)
  attr_fields fields
end