Class: Backframe::Response::Adapter::Csv

Inherits:
Object
  • Object
show all
Defined in:
lib/backframe/response/adapter/csv.rb

Class Method Summary collapse

Class Method Details

.render(collection, fields, separator = ",") ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# 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