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
7
8
9
|
# File 'lib/active_list/exporters/excel_csv_exporter.rb', line 7
def file_extension
'csv'
end
|
#mime_type ⇒ Object
11
12
13
|
# File 'lib/active_list/exporters/excel_csv_exporter.rb', line 11
def mime_type
Mime::XCSV
end
|
#send_data_code ⇒ Object
15
16
17
18
19
20
21
22
23
24
25
26
27
|
# File 'lib/active_list/exporters/excel_csv_exporter.rb', line 15
def send_data_code
record = 'r'
code = generator.select_data_code(paginate: false)
encoding = 'CP1252'
code << "data = ::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: #{mime_type.to_s.inspect}, disposition: 'inline', filename: #{table.model.name}.model_name.human.gsub(/[^a-z0-9]/i,'_')+'.#{file_extension}')\n"
code.c
end
|