Class: ActiveList::Exporters::ExcelCsvExporter
Instance Attribute Summary
#generator, #table
Instance Method Summary
collapse
#columns_headers, #columns_to_array, #initialize
Instance Method Details
#file_extension ⇒ Object
12
13
14
|
# File 'lib/active_list/exporters/excel_csv_exporter.rb', line 12
def file_extension
"csv"
end
|
#mime_type ⇒ Object
16
17
18
|
# File 'lib/active_list/exporters/excel_csv_exporter.rb', line 16
def mime_type
Mime::XCSV
end
|
#send_data_code ⇒ Object
20
21
22
23
24
25
26
27
28
29
30
31
32
|
# File 'lib/active_list/exporters/excel_csv_exporter.rb', line 20
def send_data_code
record = "r"
code = generator.select_data_code(paginate: false)
encoding = "CP1252"
code << "data = ActiveList::CSV.generate(:col_sep => ';') do |csv|\n"
code << " csv << [#{columns_to_array(:header, encoding: encoding).join(', ')}]\n"
code << " for #{record} in #{generator.records_variable_name}\n"
code << " csv << [#{columns_to_array(:body, record: record, encoding: encoding).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
|