Class: Goldendocx::Documents::Styles

Inherits:
Object
  • Object
show all
Includes:
Goldendocx::Document
Defined in:
lib/goldendocx/documents/styles.rb

Constant Summary collapse

XML_PATH =
'word/styles.xml'
TYPE =
'http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles'
CONTENT_TYPE =
'application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml'

Instance Method Summary collapse

Methods included from Goldendocx::Document

#to_document_xml

Methods included from Element

#build_element, #initialize, #namespace, #tag, #tag_name, #to_element, #to_xml

Methods included from HasChildren

#children, #read_child, #read_children

Methods included from HasAttributes

#assign_attributes, #attributes, #read_attributes

Instance Method Details

#add_style(fragment) ⇒ Object



42
43
44
45
46
47
# File 'lib/goldendocx/documents/styles.rb', line 42

def add_style(fragment)
  style = Goldendocx::Documents::Style.parse(fragment)
  style.id = (styles.size + 1).to_s # Rearrange id to prevent duplicates
  styles << style
  style.id
end

#find_table_style(style_name) ⇒ Object



36
37
38
39
40
# File 'lib/goldendocx/documents/styles.rb', line 36

def find_table_style(style_name)
  return if style_name.nil?

  styles.find { |s| s.type == 'table' && s.name == style_name }
end

#find_text_style(style_name) ⇒ Object



30
31
32
33
34
# File 'lib/goldendocx/documents/styles.rb', line 30

def find_text_style(style_name)
  return if style_name.nil?

  styles.find { |s| s.type == 'paragraph' && s.name == style_name }
end

#sizeObject



21
22
23
# File 'lib/goldendocx/documents/styles.rb', line 21

def size
  styles.size
end

#write_to(zos) ⇒ Object



25
26
27
28
# File 'lib/goldendocx/documents/styles.rb', line 25

def write_to(zos)
  zos.put_next_entry XML_PATH
  zos.write to_document_xml
end