Class: ActiveList::Exporters::CsvExporter
Instance Attribute Summary
#generator, #table
Instance Method Summary
collapse
#columns_headers, #columns_to_array, #initialize
Instance Method Details
#file_extension ⇒ Object
7
8
9
|
# File 'lib/active_list/exporters/csv_exporter.rb', line 7
def file_extension
"csv"
end
|
#mime_type ⇒ Object
11
12
13
|
# File 'lib/active_list/exporters/csv_exporter.rb', line 11
def mime_type
Mime::CSV
end
|
#send_data_code ⇒ Object
15
16
17
18
19
20
21
22
23
24
25
26
|
# File 'lib/active_list/exporters/csv_exporter.rb', line 15
def send_data_code
record = "r"
code = generator.select_data_code(paginate: false)
code << "data = ActiveList::CSV.generate do |csv|\n"
code << " csv << [#{columns_to_array(:header).join(', ')}]\n"
code << " for #{record} in #{generator.records_variable_name}\n"
code << " csv << [#{columns_to_array(:body, record: record).join(', ')}]\n"
code << " end\n"
code << "end\n"
code << "send_data(data, type: #{self.mime_type.to_s.inspect}, disposition: 'inline', filename: #{table.model.name}.model_name.human.gsub(/[^a-z0-9]/i,'_') + '.#{self.file_extension}')\n"
return code.c
end
|