class Responsys::Api::Object::RecordData

Attributes

field_names[RW]
records[RW]

Public Class Methods

new(data) click to toggle source
# File lib/responsys/api/object/record_data.rb, line 9
def initialize(data)
  raise ParameterException.new("api.object.record_data.incorrect_record_data_type") unless data.is_a? Array

  self.field_names = data.map { |record| record.keys }.flatten.uniq

  new_data = []
  field_names.each { |field_name|
    data.each_with_index { |entity, index|
      new_data[index] ||= Record.new([])
      new_data[index].field_values << (entity.has_key?(field_name) ? entity[field_name.to_sym] : "")
    }
  }

  self.records = new_data
end

Public Instance Methods

to_api() click to toggle source
# File lib/responsys/api/object/record_data.rb, line 25
def to_api
  { fieldNames: field_names, records: records.map(&:to_api) }
end