Sha256: bb1b8f016a5a83706d2171c428dacc4f781f0f0cc76bcfd8dc0df09919f67cb0
Contents?: true
Size: 1.5 KB
Versions: 2
Compression:
Stored size: 1.5 KB
Contents
# encoding: UTF-8 require 'rodf' # Register ODS format unless is already set Mime::Type.register('application/vnd.oasis.opendocument.spreadsheet', :ods) unless defined? Mime::ODS module ActiveList module Exporters class OpenDocumentSpreadsheetExporter < AbstractExporter def file_extension 'ods' end def mime_type Mime[:ods] end def generate_data_code record = 'r' code = generator.select_data_code(paginate: false) code << <<~RUBY records = #{generator.records_variable_name} data = RODF::Spreadsheet.new data.instance_eval do office_style :head, family: :cell do property :text, 'font-weight': :bold property :paragraph, 'text-align': :center end table #{table.model.name}.model_name.human do row do #{columns_to_array(:header)}.each do |header| cell header, style: :head end end for #{record} in records row do #{columns_to_array(:body, record: record)}.each do |value| cell value end end end end end RUBY code.c end def send_data_code "send_data(data.bytes, type: #{mime_type.to_s.inspect}, disposition: 'inline', filename: file_name.parameterize + '.#{file_extension}')\n".c end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
active_list-8.1.0 | lib/active_list/exporters/open_document_spreadsheet_exporter.rb |
active_list-7.3.0 | lib/active_list/exporters/open_document_spreadsheet_exporter.rb |