Class: Axlsx::TableStyles

Inherits:
SimpleTypedList show all
Defined in:
lib/axlsx/stylesheet/table_styles.rb

Overview

Note:

Support for custom table styles does not exist in this version. Many of the classes required are defined in preparation for future release. Please do not attempt to add custom table styles.

TableStyles represents a collection of style definitions for table styles and pivot table styles.

Instance Attribute Summary collapse

Attributes inherited from SimpleTypedList

#allowed_types, #locked_at, #serialize_as

Instance Method Summary collapse

Methods inherited from SimpleTypedList

#<<, #[]=, #delete, #delete_at, #lock, #method_missing, #protected?, #push, #unlock

Constructor Details

#initialize(options = {}) ⇒ TableStyles

Creates a new TableStyles object that is a container for TableStyle objects

Parameters:

  • options (Hash) (defaults to: {})

    a customizable set of options

Options Hash (options):

  • defaultTableStyle (String)
  • defaultPivotStyle (String)


18
19
20
21
22
# File 'lib/axlsx/stylesheet/table_styles.rb', line 18

def initialize(options={})
  @defaultTableStyle = options[:defaultTableStyle] || "TableStyleMedium9"
  @defaultPivotStyle = options[:defaultPivotStyle] || "PivotStyleLight16"      
  super TableStyle
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Axlsx::SimpleTypedList

Instance Attribute Details

#defaultPivotStyleString

The default pivot table style. The default value is ‘PivotStyleLight6’

Returns:

  • (String)


13
14
15
# File 'lib/axlsx/stylesheet/table_styles.rb', line 13

def defaultPivotStyle
  @defaultPivotStyle
end

#defaultTableStyleString

The default table style. The default value is ‘TableStyleMedium9’

Returns:

  • (String)


9
10
11
# File 'lib/axlsx/stylesheet/table_styles.rb', line 9

def defaultTableStyle
  @defaultTableStyle
end

Instance Method Details

#to_xml(xml) ⇒ String

Serializes the table styles element

Parameters:

  • xml (Nokogiri::XML::Builder)

    The document builder instance this objects xml will be added to.

Returns:

  • (String)


30
31
32
33
34
35
36
# File 'lib/axlsx/stylesheet/table_styles.rb', line 30

def to_xml(xml)
  attr = self.instance_values.reject {|k, v| ![:defaultTableStyle, :defaultPivotStyle].include?(k.to_sym) }
  attr[:count] = self.size
  xml.tableStyles(attr) {
    self.each { |table_style| table_style.to_xml(xml) }
  }
end