Sha256: 41178c77cc0c9a350a39bb38728dfa4dd72466aa583ea2744fec6dfc73528d17
Contents?: true
Size: 1.37 KB
Versions: 7
Compression:
Stored size: 1.37 KB
Contents
module ActiveList module Exporters class AbstractExporter attr_reader :table, :generator def initialize(generator) @generator = generator @table = generator.table end def file_extension 'txt' end def mime_type Mime::TEXT end def send_data_code fail NotImplementedError, "#{self.class.name}#format_data_code is not implemented." end def columns_headers(options = {}) headers = [] columns = table.exportable_columns for column in columns datum = column.header_code headers << (options[:encoding] ? datum + ".to_s.encode('#{options[:encoding]}', invalid: :replace, undef: :replace)" : datum) end headers end def columns_to_array(nature, options = {}) columns = table.exportable_columns array = [] record = options[:record] || 'record_of_the_death' for column in columns next unless column.is_a?(ActiveList::Definition::AbstractColumn) if nature == :header datum = column.header_code else datum = column.exporting_datum_code(record) end array << (options[:encoding] ? datum + ".to_s.encode('#{options[:encoding]}', invalid: :replace, undef: :replace)" : datum) end array end end end end
Version data entries
7 entries across 7 versions & 1 rubygems