class Backframe::Response::Adapter::Csv

Public Class Methods

render(collection, fields, separator = ",") click to toggle source
# File lib/backframe/response/adapter/csv.rb, line 13
def render(collection, fields, separator = ",")
  records = []
  labels = []
  fields.array.each do |field|
    labels << field[:label]
  end
  records << labels.join(separator)
  collection.records.each do |item|
    serialized = ActiveModelSerializers::SerializableResource.new(item).serializable_hash
    record = []
    fields.array.each do |field|
      record << Backframe::Response::Record.get_value(serialized, field[:key])
    end
    records << record.join(separator)
  end
  records.join("\n")
end