ooxml_parser 0.31.0 → 0.33.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (27) hide show
  1. checksums.yaml +4 -4
  2. data/lib/ooxml_parser/common_parser/common_data/color/ooxml_color.rb +4 -0
  3. data/lib/ooxml_parser/common_parser/common_data/paragraph/paragraph_properties/bullet_image.rb +22 -0
  4. data/lib/ooxml_parser/common_parser/common_data/paragraph/{paragrpah_properties → paragraph_properties}/numbering_properties.rb +1 -1
  5. data/lib/ooxml_parser/common_parser/common_data/paragraph/{paragrpah_properties → paragraph_properties}/paragraph_borders.rb +0 -0
  6. data/lib/ooxml_parser/common_parser/common_data/paragraph/{paragrpah_properties → paragraph_properties}/paragraph_spacing.rb +0 -0
  7. data/lib/ooxml_parser/common_parser/common_data/paragraph/{paragrpah_properties/paragraph_stlye_ref.rb → paragraph_properties/paragraph_style_ref.rb} +0 -0
  8. data/lib/ooxml_parser/common_parser/common_data/paragraph/{paragrpah_properties → paragraph_properties}/spacing/line_spacing.rb +0 -0
  9. data/lib/ooxml_parser/common_parser/common_data/paragraph/{paragrpah_properties → paragraph_properties}/spacing.rb +0 -0
  10. data/lib/ooxml_parser/common_parser/common_data/paragraph/{paragrpah_properties → paragraph_properties}/tabs/tab.rb +0 -0
  11. data/lib/ooxml_parser/common_parser/common_data/paragraph/{paragrpah_properties → paragraph_properties}/tabs.rb +0 -0
  12. data/lib/ooxml_parser/common_parser/common_data/paragraph/paragraph_properties.rb +9 -6
  13. data/lib/ooxml_parser/docx_parser/document_structure/docx_paragraph/docx_paragraph_run/docx_paragraph_run_helpers.rb +4 -6
  14. data/lib/ooxml_parser/docx_parser/document_structure/docx_paragraph/sdt/sdt_properties/checkbox/checkbox_state.rb +26 -0
  15. data/lib/ooxml_parser/docx_parser/document_structure/docx_paragraph/sdt/sdt_properties/checkbox.rb +35 -0
  16. data/lib/ooxml_parser/docx_parser/document_structure/docx_paragraph/sdt/sdt_properties/combobox/list_item.rb +26 -0
  17. data/lib/ooxml_parser/docx_parser/document_structure/docx_paragraph/sdt/sdt_properties/combobox.rb +28 -0
  18. data/lib/ooxml_parser/docx_parser/document_structure/docx_paragraph/sdt/sdt_properties/dropdown_list.rb +27 -0
  19. data/lib/ooxml_parser/docx_parser/document_structure/docx_paragraph/sdt/sdt_properties/form_properties.rb +48 -0
  20. data/lib/ooxml_parser/docx_parser/document_structure/docx_paragraph/sdt/sdt_properties/form_text_properties/form_text_comb.rb +26 -0
  21. data/lib/ooxml_parser/docx_parser/document_structure/docx_paragraph/sdt/sdt_properties/form_text_properties/form_text_format.rb +30 -0
  22. data/lib/ooxml_parser/docx_parser/document_structure/docx_paragraph/sdt/sdt_properties/form_text_properties.rb +45 -0
  23. data/lib/ooxml_parser/docx_parser/document_structure/docx_paragraph/sdt/sdt_properties.rb +25 -0
  24. data/lib/ooxml_parser/version.rb +1 -1
  25. data/lib/ooxml_parser/xlsx_parser/workbook/workbook_properties.rb +27 -0
  26. data/lib/ooxml_parser/xlsx_parser/workbook.rb +12 -0
  27. metadata +22 -11
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 682b6146d274c90e967ce9d494c4c6df0fafe597d9dc01fc27c3b8fa854630c2
4
- data.tar.gz: a5f7c131398910ef896a0c0b21578083e02dbe84aa6d024bf4abd4e2fab2c1bb
3
+ metadata.gz: 9a2c8bb2410020cc3dfcb2126b9888ef47530fbd761e6167bd917fffee6a1351
4
+ data.tar.gz: 8ae388b40aabe9e72995e1bb5fa747e73253cd4464e414a00db0dcd5a87b0b40
5
5
  SHA512:
6
- metadata.gz: df07e615fd1ecc0c4436072b978f6f6ba8959a83785d88fe2a1922417c94daef2227ae4914f34683e3f9542ca35e68de2652c5cf78b2a52cf828d6f46b850aa2
7
- data.tar.gz: 0fce9c7ca3617ef27c67acc338f8e2eaa7a2220d98de3d4367d4b4bcf89f445a1982e58fe2e3f4ec6aa1bca48e8ed533f7bed9ad0a7d64244620f47dd241b4c3
6
+ metadata.gz: 3ce96605c0637a4b2865c96088c0c10ddc898e91e7b6d41234bf8da01b598b748416567aff90cfa33b6778b7f16b7bb9397d95e5dde75e551fe524ee6d72dbdb
7
+ data.tar.gz: eee336b02e4bc827de7771f46ebcf53907957af7505c7da806dad589fe79f5de56b56e89206bc0e2df1d523530a9a7b41cd7a2c22095da97e95bde953e7faaa9
@@ -11,6 +11,8 @@ module OoxmlParser
11
11
  attr_reader :theme_shade
12
12
  # @return [Integer] theme index
13
13
  attr_reader :theme
14
+ # @return [Float] theme tint
15
+ attr_reader :theme_tint
14
16
  # @return [Float] tint
15
17
  attr_reader :tint
16
18
  # @return [Float] Indexed id
@@ -58,6 +60,8 @@ module OoxmlParser
58
60
  @indexed = value.value.to_i
59
61
  when 'rgb'
60
62
  @rgb = Color.new.parse_hex_string(value.value)
63
+ when 'themeTint'
64
+ @theme_tint = value.value.hex.to_f
61
65
  end
62
66
  end
63
67
  self
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OoxmlParser
4
+ # Class for parsing <buBlip> tag
5
+ class BulletImage < OOXMLDocumentObject
6
+ # @return [FileReference] image structure
7
+ attr_reader :file_reference
8
+
9
+ # Parse BulletImage object
10
+ # @param node [Nokogiri::XML:Element] node to parse
11
+ # @return [BulletImage] result of parsing
12
+ def parse(node)
13
+ node.xpath('*').each do |node_child|
14
+ case node_child.name
15
+ when 'blip'
16
+ @file_reference = FileReference.new(parent: self).parse(node_child)
17
+ end
18
+ end
19
+ self
20
+ end
21
+ end
22
+ end
@@ -3,7 +3,7 @@
3
3
  module OoxmlParser
4
4
  # Class for parsing `numPr` tags
5
5
  class NumberingProperties < OOXMLDocumentObject
6
- attr_accessor :size, :font, :symbol, :start_at, :type, :ilvl, :numbering_properties
6
+ attr_accessor :size, :font, :symbol, :start_at, :type, :image, :ilvl, :numbering_properties
7
7
 
8
8
  def initialize(ilvl = 0, parent: nil)
9
9
  @ilvl = ilvl
@@ -1,11 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'paragrpah_properties/numbering_properties'
4
- require_relative 'paragrpah_properties/paragraph_borders'
5
- require_relative 'paragrpah_properties/paragraph_spacing'
6
- require_relative 'paragrpah_properties/paragraph_stlye_ref'
7
- require_relative 'paragrpah_properties/spacing'
8
- require_relative 'paragrpah_properties/tabs'
3
+ require_relative 'paragraph_properties/numbering_properties'
4
+ require_relative 'paragraph_properties/paragraph_borders'
5
+ require_relative 'paragraph_properties/paragraph_spacing'
6
+ require_relative 'paragraph_properties/paragraph_style_ref'
7
+ require_relative 'paragraph_properties/spacing'
8
+ require_relative 'paragraph_properties/tabs'
9
+ require_relative 'paragraph_properties/bullet_image'
9
10
  module OoxmlParser
10
11
  # Class for data for ParagraphProperties
11
12
  class ParagraphProperties < OOXMLDocumentObject
@@ -74,6 +75,8 @@ module OoxmlParser
74
75
  @numbering.font = node_child.attribute('typeface').value
75
76
  when 'buChar'
76
77
  @numbering.symbol = node_child.attribute('char').value
78
+ when 'buBlip'
79
+ @numbering.image = BulletImage.new(parent: self).parse(node_child)
77
80
  when 'buAutoNum'
78
81
  @numbering.type = node_child.attribute('type').value.to_sym
79
82
  @numbering.start_at = node_child.attribute('startAt').value if node_child.attribute('startAt')
@@ -78,17 +78,15 @@ module OoxmlParser
78
78
  # @param node [Nokogiri::XML:Element] node to parse
79
79
  # @return [nil]
80
80
  def parse_color_tag(node)
81
- node.attributes.each do |key, value|
81
+ color = OoxmlColor.new(parent: self).parse(node)
82
+ node.attributes.sort.to_h.each do |key, value|
82
83
  case key
83
84
  when 'val'
84
85
  self.font_color = Color.new(parent: self).parse_hex_string(value.value)
85
86
  when 'themeColor'
86
- if root_object.theme && root_object.theme.color_scheme[value.value.to_sym]
87
- break if value.value == 'text2' || value.value == 'background2' || value.value.include?('accent') # Don't know why. Just works
88
-
89
- self.font_color = root_object.theme.color_scheme[value.value.to_sym].color.dup
90
- end
87
+ self.font_color = root_object.theme.color_scheme[value.value.to_sym].color.dup if root_object.theme && root_object.theme.color_scheme[value.value.to_sym]
91
88
  when 'themeShade'
89
+ self.font_color = color.value if font_color.none?
92
90
  font_color.calculate_with_shade!(value.value.hex.to_f / 255.0)
93
91
  when 'themeTint'
94
92
  font_color.calculate_with_tint!(1.0 - (value.value.hex.to_f / 255.0))
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OoxmlParser
4
+ # Class for parsing `checkedState` tag
5
+ class CheckBoxState < OOXMLDocumentObject
6
+ # @return [Integer] number of state symbol
7
+ attr_reader :value
8
+ # @return [String] font name
9
+ attr_reader :font
10
+
11
+ # Parse CheckBoxState object
12
+ # @param node [Nokogiri::XML:Element] node to parse
13
+ # @return [CheckBoxState] result of parsing
14
+ def parse(node)
15
+ node.attributes.each do |key, value|
16
+ case key
17
+ when 'val'
18
+ @value = value.value.to_i
19
+ when 'font'
20
+ @font = value.value
21
+ end
22
+ end
23
+ self
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'checkbox/checkbox_state'
4
+ module OoxmlParser
5
+ # Class for parsing `checkbox` tag
6
+ class CheckBox < OOXMLDocumentObject
7
+ # @return [True, False] specifies if checkbox is checked
8
+ attr_reader :checked
9
+ # @return [CheckBoxState] options of checked state
10
+ attr_reader :checked_state
11
+ # @return [CheckBoxState] options of unchecked state
12
+ attr_reader :unchecked_state
13
+ # @return [ValuedChild] group key
14
+ attr_reader :group_key
15
+
16
+ # Parse CheckBox object
17
+ # @param node [Nokogiri::XML:Element] node to parse
18
+ # @return [CheckBox] result of parsing
19
+ def parse(node)
20
+ node.xpath('*').each do |node_child|
21
+ case node_child.name
22
+ when 'checked'
23
+ @checked = option_enabled?(node_child, 'hidden')
24
+ when 'checkedState'
25
+ @checked_state = CheckBoxState.new(parent: self).parse(node_child)
26
+ when 'uncheckedState'
27
+ @unchecked_state = CheckBoxState.new(parent: self).parse(node_child)
28
+ when 'groupKey'
29
+ @group_key = ValuedChild.new(:string, parent: self).parse(node_child)
30
+ end
31
+ end
32
+ self
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OoxmlParser
4
+ # Class for parsing `listItem` tag
5
+ class ListItem < OOXMLDocumentObject
6
+ # @return [String] item text
7
+ attr_reader :text
8
+ # @return [String] item value
9
+ attr_reader :value
10
+
11
+ # Parse ListItem object
12
+ # @param node [Nokogiri::XML:Element] node to parse
13
+ # @return [ListItem] result of parsing
14
+ def parse(node)
15
+ node.attributes.each do |key, value|
16
+ case key
17
+ when 'displayText'
18
+ @text = value.value
19
+ when 'value'
20
+ @value = value.value
21
+ end
22
+ end
23
+ self
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'combobox/list_item'
4
+ module OoxmlParser
5
+ # Class for parsing `comboBox` tag
6
+ class ComboBox < OOXMLDocumentObject
7
+ # @return [Array<ListItem>] combobox items
8
+ attr_reader :list_items
9
+
10
+ def initialize(parent: nil)
11
+ @list_items = []
12
+ super
13
+ end
14
+
15
+ # Parse ComboBox object
16
+ # @param node [Nokogiri::XML:Element] node to parse
17
+ # @return [ComboBox] result of parsing
18
+ def parse(node)
19
+ node.xpath('*').each do |node_child|
20
+ case node_child.name
21
+ when 'listItem'
22
+ @list_items << ListItem.new(parent: self).parse(node_child)
23
+ end
24
+ end
25
+ self
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OoxmlParser
4
+ # Class for parsing `dropDownList` tag
5
+ class DropdownList < OOXMLDocumentObject
6
+ # @return [Array<ListItem>] dropdown items
7
+ attr_reader :list_items
8
+
9
+ def initialize(parent: nil)
10
+ @list_items = []
11
+ super
12
+ end
13
+
14
+ # Parse DropdownList object
15
+ # @param node [Nokogiri::XML:Element] node to parse
16
+ # @return [DropdownList] result of parsing
17
+ def parse(node)
18
+ node.xpath('*').each do |node_child|
19
+ case node_child.name
20
+ when 'listItem'
21
+ @list_items << ListItem.new(parent: self).parse(node_child)
22
+ end
23
+ end
24
+ self
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OoxmlParser
4
+ # Class for parsing `formPr` tag
5
+ class FormProperties < OOXMLDocumentObject
6
+ # @return [String] field key
7
+ attr_reader :key
8
+ # @return [String] text of tooltip
9
+ attr_reader :help_text
10
+ # @return [True, False] specifies if field is required
11
+ attr_reader :required
12
+ # @return [Shade] shade of field
13
+ attr_reader :shade
14
+ # @return [BordersProperties] border of field
15
+ attr_reader :border
16
+
17
+ def initialize(parent: nil)
18
+ @required = false
19
+ super
20
+ end
21
+
22
+ # Parse FormProperties object
23
+ # @param node [Nokogiri::XML:Element] node to parse
24
+ # @return [FormProperties] result of parsing
25
+ def parse(node)
26
+ node.attributes.each do |key, value|
27
+ case key
28
+ when 'key'
29
+ @key = value.value
30
+ when 'helpText'
31
+ @help_text = value.value
32
+ when 'required'
33
+ @required = option_enabled?(value)
34
+ end
35
+ end
36
+
37
+ node.xpath('*').each do |node_child|
38
+ case node_child.name
39
+ when 'shd'
40
+ @shade = Shade.new(parent: self).parse(node_child)
41
+ when 'border'
42
+ @border = BordersProperties.new(parent: self).parse(node_child)
43
+ end
44
+ end
45
+ self
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OoxmlParser
4
+ # Class for parsing `comb` tag
5
+ class FormTextComb < OOXMLDocumentObject
6
+ # @return [OoxmlSize] field width
7
+ attr_reader :width
8
+ # @return [Symbol] width rule
9
+ attr_reader :width_rule
10
+
11
+ # Parse FormTextComb object
12
+ # @param node [Nokogiri::XML:Element] node to parse
13
+ # @return [FormTextComb] result of parsing
14
+ def parse(node)
15
+ node.attributes.each do |key, value|
16
+ case key
17
+ when 'width'
18
+ @width = OoxmlSize.new(value.value.to_f)
19
+ when 'wRule'
20
+ @width_rule = value.value.to_sym
21
+ end
22
+ end
23
+ self
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OoxmlParser
4
+ # Class for parsing `format` tag
5
+ class FormTextFormat < OOXMLDocumentObject
6
+ # @return [Symbol] format type
7
+ attr_reader :type
8
+ # @return [String] value for custom formats
9
+ attr_reader :value
10
+ # @return [String] allowed symbols
11
+ attr_reader :symbols
12
+
13
+ # Parse FormTextFormat object
14
+ # @param node [Nokogiri::XML:Element] node to parse
15
+ # @return [FormTextFormat] result of parsing
16
+ def parse(node)
17
+ node.attributes.each do |key, value|
18
+ case key
19
+ when 'type'
20
+ @type = value.value.to_sym
21
+ when 'val'
22
+ @value = value.value
23
+ when 'symbols'
24
+ @symbols = value.value
25
+ end
26
+ end
27
+ self
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,45 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'form_text_properties/form_text_comb'
4
+ require_relative 'form_text_properties/form_text_format'
5
+ module OoxmlParser
6
+ # Class for parsing `textFormPr` tag
7
+ class FormTextProperties < OOXMLDocumentObject
8
+ # @return [True, False] specifies if field is multiline
9
+ attr_reader :multiline
10
+ # @return [True, False] specifies if size of field should be autofit
11
+ attr_reader :autofit
12
+ # @return [FormTextComb] parameters of text justification
13
+ attr_reader :comb
14
+ # @return [ValuedChild] characters limit
15
+ attr_reader :maximum_characters
16
+ # @return [FormTextFormat] text format
17
+ attr_reader :format
18
+
19
+ # Parse FormTextProperties object
20
+ # @param node [Nokogiri::XML:Element] node to parse
21
+ # @return [FormTextProperties] result of parsing
22
+ def parse(node)
23
+ node.attributes.each do |key, value|
24
+ case key
25
+ when 'multiLine'
26
+ @multiline = option_enabled?(value)
27
+ when 'autoFit'
28
+ @autofit = option_enabled?(value)
29
+ end
30
+ end
31
+
32
+ node.xpath('*').each do |node_child|
33
+ case node_child.name
34
+ when 'comb'
35
+ @comb = FormTextComb.new(parent: self).parse(node_child)
36
+ when 'maxCharacters'
37
+ @maximum_characters = ValuedChild.new(:integer, parent: self).parse(node_child)
38
+ when 'format'
39
+ @format = FormTextFormat.new(parent: self).parse(node_child)
40
+ end
41
+ end
42
+ self
43
+ end
44
+ end
45
+ end
@@ -1,5 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require_relative 'sdt_properties/form_properties'
4
+ require_relative 'sdt_properties/form_text_properties'
5
+ require_relative 'sdt_properties/combobox'
6
+ require_relative 'sdt_properties/dropdown_list'
7
+ require_relative 'sdt_properties/checkbox'
3
8
  module OoxmlParser
4
9
  # Class for parsing `w:sdtPr` tags
5
10
  class SDTProperties < OOXMLDocumentObject
@@ -9,6 +14,16 @@ module OoxmlParser
9
14
  attr_reader :tag
10
15
  # @return [ValuedChild] Locking Setting
11
16
  attr_reader :lock
17
+ # @return [ComboBox] combobox
18
+ attr_reader :combobox
19
+ # @return [DropdownList] dropdown list
20
+ attr_reader :dropdown_list
21
+ # @return [CheckBox] checkbox
22
+ attr_reader :checkbox
23
+ # @return [FormProperties] form properties
24
+ attr_reader :form_properties
25
+ # @return [FormTextProperties] properties of text in form
26
+ attr_reader :form_text_properties
12
27
 
13
28
  # Parse SDTProperties object
14
29
  # @param node [Nokogiri::XML:Element] node to parse
@@ -22,6 +37,16 @@ module OoxmlParser
22
37
  @tag = ValuedChild.new(:string, parent: self).parse(node_child)
23
38
  when 'lock'
24
39
  @lock = ValuedChild.new(:symbol, parent: self).parse(node_child)
40
+ when 'comboBox'
41
+ @combobox = ComboBox.new(parent: self).parse(node_child)
42
+ when 'dropDownList'
43
+ @dropdown_list = DropdownList.new(parent: self).parse(node_child)
44
+ when 'checkbox'
45
+ @checkbox = CheckBox.new(parent: self).parse(node_child)
46
+ when 'formPr'
47
+ @form_properties = FormProperties.new(parent: self).parse(node_child)
48
+ when 'textFormPr'
49
+ @form_text_properties = FormTextProperties.new(parent: self).parse(node_child)
25
50
  end
26
51
  end
27
52
  self
@@ -4,6 +4,6 @@ module OoxmlParser
4
4
  # This module holds the RuboCop version information.
5
5
  module Version
6
6
  # [String] Version of Gem
7
- STRING = '0.31.0'
7
+ STRING = '0.33.0'
8
8
  end
9
9
  end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OoxmlParser
4
+ # Class for parsing <workbookPr> tag
5
+ class WorkbookProperties < OOXMLDocumentObject
6
+ # @return [True, False] Specifies if 1904 date system is used in workbook
7
+ attr_reader :date1904
8
+
9
+ def initialize(parent: nil)
10
+ @date1904 = false
11
+ super
12
+ end
13
+
14
+ # Parse WorkbookProperties data
15
+ # @param [Nokogiri::XML:Element] node with WorkbookProperties data
16
+ # @return [WorkbookProperties] value of WorkbookProperties
17
+ def parse(node)
18
+ node.attributes.each do |key, value|
19
+ case key
20
+ when 'date1904'
21
+ @date1904 = attribute_enabled?(value)
22
+ end
23
+ end
24
+ self
25
+ end
26
+ end
27
+ end
@@ -4,6 +4,7 @@ require_relative 'workbook/chartsheet'
4
4
  require_relative 'workbook/pivot_cache'
5
5
  require_relative 'workbook/pivot_table_definition'
6
6
  require_relative 'workbook/defined_name'
7
+ require_relative 'workbook/workbook_properties'
7
8
  require_relative 'workbook/workbook_protection'
8
9
  require_relative 'workbook/shared_string_table'
9
10
  require_relative 'workbook/style_sheet'
@@ -31,6 +32,8 @@ module OoxmlParser
31
32
  attr_accessor :pivot_table_definitions
32
33
  # @return [Array<DefinedName>] list of defined names
33
34
  attr_reader :defined_names
35
+ # @return [WorkbookProperties] workbook properties
36
+ attr_reader :workbook_properties
34
37
  # @return [WorkbookProtection] protection of workbook structure
35
38
  attr_reader :workbook_protection
36
39
 
@@ -137,6 +140,7 @@ module OoxmlParser
137
140
  parse_pivot_cache
138
141
  parse_pivot_table
139
142
  parse_defined_names
143
+ parse_workbook_properties
140
144
  parse_workbook_protection
141
145
  root_object.xmls_stack.pop
142
146
  self
@@ -170,6 +174,14 @@ module OoxmlParser
170
174
  end
171
175
  end
172
176
 
177
+ # Perform parsing of workbook properties
178
+ def parse_workbook_properties
179
+ workbook_properties = @doc.search('//xmlns:workbookPr').first
180
+ return nil unless workbook_properties
181
+
182
+ @workbook_properties = WorkbookProperties.new(parent: self).parse(workbook_properties)
183
+ end
184
+
173
185
  # Perform parsing of workbook protection
174
186
  def parse_workbook_protection
175
187
  workbook_protection = @doc.search('//xmlns:workbookProtection').first
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ooxml_parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.31.0
4
+ version: 0.33.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - ONLYOFFICE
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2022-09-27 00:00:00.000000000 Z
13
+ date: 2022-10-25 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: nokogiri
@@ -312,6 +312,15 @@ files:
312
312
  - lib/ooxml_parser/common_parser/common_data/ooxml_document_object/ooxml_object_attribute_helper.rb
313
313
  - lib/ooxml_parser/common_parser/common_data/paragraph.rb
314
314
  - lib/ooxml_parser/common_parser/common_data/paragraph/paragraph_properties.rb
315
+ - lib/ooxml_parser/common_parser/common_data/paragraph/paragraph_properties/bullet_image.rb
316
+ - lib/ooxml_parser/common_parser/common_data/paragraph/paragraph_properties/numbering_properties.rb
317
+ - lib/ooxml_parser/common_parser/common_data/paragraph/paragraph_properties/paragraph_borders.rb
318
+ - lib/ooxml_parser/common_parser/common_data/paragraph/paragraph_properties/paragraph_spacing.rb
319
+ - lib/ooxml_parser/common_parser/common_data/paragraph/paragraph_properties/paragraph_style_ref.rb
320
+ - lib/ooxml_parser/common_parser/common_data/paragraph/paragraph_properties/spacing.rb
321
+ - lib/ooxml_parser/common_parser/common_data/paragraph/paragraph_properties/spacing/line_spacing.rb
322
+ - lib/ooxml_parser/common_parser/common_data/paragraph/paragraph_properties/tabs.rb
323
+ - lib/ooxml_parser/common_parser/common_data/paragraph/paragraph_properties/tabs/tab.rb
315
324
  - lib/ooxml_parser/common_parser/common_data/paragraph/paragraph_run.rb
316
325
  - lib/ooxml_parser/common_parser/common_data/paragraph/paragraph_run/run_properties.rb
317
326
  - lib/ooxml_parser/common_parser/common_data/paragraph/paragraph_run/run_properties/outline.rb
@@ -321,14 +330,6 @@ files:
321
330
  - lib/ooxml_parser/common_parser/common_data/paragraph/paragraph_run/run_properties/shade.rb
322
331
  - lib/ooxml_parser/common_parser/common_data/paragraph/paragraph_run/run_properties/size.rb
323
332
  - lib/ooxml_parser/common_parser/common_data/paragraph/paragraph_run/text.rb
324
- - lib/ooxml_parser/common_parser/common_data/paragraph/paragrpah_properties/numbering_properties.rb
325
- - lib/ooxml_parser/common_parser/common_data/paragraph/paragrpah_properties/paragraph_borders.rb
326
- - lib/ooxml_parser/common_parser/common_data/paragraph/paragrpah_properties/paragraph_spacing.rb
327
- - lib/ooxml_parser/common_parser/common_data/paragraph/paragrpah_properties/paragraph_stlye_ref.rb
328
- - lib/ooxml_parser/common_parser/common_data/paragraph/paragrpah_properties/spacing.rb
329
- - lib/ooxml_parser/common_parser/common_data/paragraph/paragrpah_properties/spacing/line_spacing.rb
330
- - lib/ooxml_parser/common_parser/common_data/paragraph/paragrpah_properties/tabs.rb
331
- - lib/ooxml_parser/common_parser/common_data/paragraph/paragrpah_properties/tabs/tab.rb
332
333
  - lib/ooxml_parser/common_parser/common_data/paragraph/text_field.rb
333
334
  - lib/ooxml_parser/common_parser/common_data/relationships.rb
334
335
  - lib/ooxml_parser/common_parser/common_data/relationships/relationship.rb
@@ -423,6 +424,15 @@ files:
423
424
  - lib/ooxml_parser/docx_parser/document_structure/docx_paragraph/inserted.rb
424
425
  - lib/ooxml_parser/docx_parser/document_structure/docx_paragraph/sdt/sdt_content.rb
425
426
  - lib/ooxml_parser/docx_parser/document_structure/docx_paragraph/sdt/sdt_properties.rb
427
+ - lib/ooxml_parser/docx_parser/document_structure/docx_paragraph/sdt/sdt_properties/checkbox.rb
428
+ - lib/ooxml_parser/docx_parser/document_structure/docx_paragraph/sdt/sdt_properties/checkbox/checkbox_state.rb
429
+ - lib/ooxml_parser/docx_parser/document_structure/docx_paragraph/sdt/sdt_properties/combobox.rb
430
+ - lib/ooxml_parser/docx_parser/document_structure/docx_paragraph/sdt/sdt_properties/combobox/list_item.rb
431
+ - lib/ooxml_parser/docx_parser/document_structure/docx_paragraph/sdt/sdt_properties/dropdown_list.rb
432
+ - lib/ooxml_parser/docx_parser/document_structure/docx_paragraph/sdt/sdt_properties/form_properties.rb
433
+ - lib/ooxml_parser/docx_parser/document_structure/docx_paragraph/sdt/sdt_properties/form_text_properties.rb
434
+ - lib/ooxml_parser/docx_parser/document_structure/docx_paragraph/sdt/sdt_properties/form_text_properties/form_text_comb.rb
435
+ - lib/ooxml_parser/docx_parser/document_structure/docx_paragraph/sdt/sdt_properties/form_text_properties/form_text_format.rb
426
436
  - lib/ooxml_parser/docx_parser/document_structure/docx_paragraph/structured_document_tag.rb
427
437
  - lib/ooxml_parser/docx_parser/document_structure/header_footer.rb
428
438
  - lib/ooxml_parser/docx_parser/document_structure/numbering.rb
@@ -532,6 +542,7 @@ files:
532
542
  - lib/ooxml_parser/xlsx_parser/workbook/style_sheet/xlsx_borders.rb
533
543
  - lib/ooxml_parser/xlsx_parser/workbook/style_sheet/xlsx_borders/xlsx_border.rb
534
544
  - lib/ooxml_parser/xlsx_parser/workbook/workbook_helpers.rb
545
+ - lib/ooxml_parser/xlsx_parser/workbook/workbook_properties.rb
535
546
  - lib/ooxml_parser/xlsx_parser/workbook/workbook_protection.rb
536
547
  - lib/ooxml_parser/xlsx_parser/workbook/worksheet.rb
537
548
  - lib/ooxml_parser/xlsx_parser/workbook/worksheet/excel_comments.rb
@@ -608,7 +619,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
608
619
  - !ruby/object:Gem::Version
609
620
  version: '0'
610
621
  requirements: []
611
- rubygems_version: 3.3.22
622
+ rubygems_version: 3.3.24
612
623
  signing_key:
613
624
  specification_version: 4
614
625
  summary: OoxmlParser Gem