Class: Defmastership::Export::XLSX::XLSXData

Inherits:
Object
  • Object
show all
Extended by:
Memoist
Defined in:
lib/defmastership/export/xlsx/formatter.rb

Overview

Encapsulate the data clump

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(formatter, workbook, doc, column_list) ⇒ XLSXData

Returns a new instance of XLSXData.

Parameters:

  • formatter (XLSX::Formatter)

    the concerned formatter

  • workbook (XLSXData)

    the workbook to save

  • doc (Document)

    the document to export

  • column_list (Array<Symbol>)

    the list of columns to export



45
46
47
48
49
50
# File 'lib/defmastership/export/xlsx/formatter.rb', line 45

def initialize(formatter, workbook, doc, column_list)
  @formatter = formatter
  @workbook = workbook
  @doc = doc
  @column_list = column_list
end

Instance Attribute Details

#column_listObject (readonly)

Returns the value of attribute column_list.



39
40
41
# File 'lib/defmastership/export/xlsx/formatter.rb', line 39

def column_list
  @column_list
end

Instance Method Details

#export_to(output_file, definitions) ⇒ Object

Build an write the exported Excel Spreasheet

Parameters:

  • output_file (String)

    filename for the export

  • definitions (Array<Definition>)

    the list of definitions



56
57
58
59
60
61
62
63
64
# File 'lib/defmastership/export/xlsx/formatter.rb', line 56

def export_to(output_file, definitions)
  add_header(@formatter.header(@column_list))

  definitions.each_with_index do |definition, def_index|
    add_row(@formatter.body(definition, @column_list), def_index + 1)
  end

  @workbook.write(output_file)
end