ooxml_parser 0.15.0 → 0.18.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (22) hide show
  1. checksums.yaml +4 -4
  2. data/lib/ooxml_parser/common_parser/common_data/alternate_content/drawing/graphic/picture/docx_blip/file_reference.rb +1 -1
  3. data/lib/ooxml_parser/common_parser/common_data/color/color_helper.rb +3 -3
  4. data/lib/ooxml_parser/common_parser/common_data/color.rb +11 -3
  5. data/lib/ooxml_parser/common_parser/common_data/colors/hsl_color.rb +4 -4
  6. data/lib/ooxml_parser/common_parser/common_data/coordinates.rb +1 -1
  7. data/lib/ooxml_parser/common_parser/common_data/ooxml_document_object/nokogiri_parsing_exception.rb +6 -0
  8. data/lib/ooxml_parser/common_parser/common_data/ooxml_document_object.rb +7 -1
  9. data/lib/ooxml_parser/common_parser/common_data/paragraph/paragraph_run/run_properties.rb +28 -16
  10. data/lib/ooxml_parser/common_parser/common_data/paragraph/paragrpah_properties/spacing.rb +12 -0
  11. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/docx_paragraph_run/docx_paragraph_run_helpers.rb +1 -1
  12. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph.rb +2 -6
  13. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/page_properties/page_size.rb +2 -2
  14. data/lib/ooxml_parser/pptx_parser/pptx_data/presentation/slide/transition/transition/sound_action/sound.rb +8 -2
  15. data/lib/ooxml_parser/pptx_parser/pptx_data/presentation/slide_layout_file.rb +25 -0
  16. data/lib/ooxml_parser/pptx_parser/pptx_data/presentation/slide_layouts_helper.rb +20 -0
  17. data/lib/ooxml_parser/pptx_parser/pptx_data/presentation/slide_master_file.rb +25 -0
  18. data/lib/ooxml_parser/pptx_parser/pptx_data/presentation/slide_masters_helper.rb +20 -0
  19. data/lib/ooxml_parser/pptx_parser/pptx_data/presentation.rb +14 -0
  20. data/lib/ooxml_parser/version.rb +1 -1
  21. data/lib/ooxml_parser/xlsx_parser/xlsx_data/view_model/workbook/worksheet/table_part/extension_list/extension/conditional_formattings/conditional_formatting/conditional_formatting_rule.rb +19 -2
  22. metadata +8 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0d95158b66da173b7cc2b1c80b4780c0893cb840ff47a20bee389285054e3f4e
4
- data.tar.gz: ec88614112d6ec0c69e5269dd8d128ead722cd1d338ac0500f7868409e8a5160
3
+ metadata.gz: fd9cd17bc24141fd5500ae8233240e5a8370fcc7aa8606211dfbdd7638b720af
4
+ data.tar.gz: a460aaf4e3216c0e627520c133d821b9310307c783712b6fd0f7c2f8879bf164
5
5
  SHA512:
6
- metadata.gz: ac0bae842196c698f38563be771715d3cb78de1081904528f4557fe6faf0c7b20199945f0b5da952da0eef238e5b38a80e06e3c65a64a76b44824d9a105a24b4
7
- data.tar.gz: cec21fd072fc64cc6ec436b86a0f68a0a11fb42356ca6826f20e2e8ccaa3de291e2ba2e8f76bcda5243473a46217f1d3a6b04beedfa0e9b2ac00f11aa9a7983f
6
+ metadata.gz: 39a1f7298c1c51da2e27f313cd6873924896c8dc71f46fa40760f520e746532cf6c50ba8d70829b4a36873f543e8dec8ceb920013531d1ac1d44c9ea44ce7706
7
+ data.tar.gz: ea140f577de7d3f47b37dcaf1909c2e1ae90b28356085c380caa6eecb508d205e95dccc198100cbd513918b7fecfb65e34df2877434c184b3b8ece431a695ef8
@@ -35,7 +35,7 @@ module OoxmlParser
35
35
 
36
36
  full_path_to_file = OOXMLDocumentObject.path_to_folder + OOXMLDocumentObject.root_subfolder + @path.gsub('..', '')
37
37
  if File.exist?(full_path_to_file)
38
- @content = IO.binread(full_path_to_file)
38
+ @content = File.binread(full_path_to_file)
39
39
  else
40
40
  warn "Couldn't find #{full_path_to_file} file on filesystem. Possible problem in original document"
41
41
  end
@@ -45,11 +45,11 @@ module OoxmlParser
45
45
  hls_color.h = if max == red && green >= blue
46
46
  60.0 * (green - blue) / delta
47
47
  elsif max == red && green < blue
48
- 60.0 * (green - blue) / delta + 360.0
48
+ (60.0 * (green - blue) / delta) + 360.0
49
49
  elsif max == green
50
- 60.0 * (blue - red) / delta + 120.0
50
+ (60.0 * (blue - red) / delta) + 120.0
51
51
  else
52
- 60.0 * (red - green) / delta + 240.0
52
+ (60.0 * (red - green) / delta) + 240.0
53
53
  end
54
54
  end
55
55
 
@@ -48,7 +48,7 @@ module OoxmlParser
48
48
 
49
49
  # @return [String] result of convert of object to string
50
50
  def to_s
51
- if @red == VALUE_FOR_NONE_COLOR && @green == VALUE_FOR_NONE_COLOR && @blue == VALUE_FOR_NONE_COLOR
51
+ if primary_colors_none?
52
52
  'none'
53
53
  else
54
54
  "RGB (#{@red}, #{@green}, #{@blue})"
@@ -69,8 +69,8 @@ module OoxmlParser
69
69
 
70
70
  # @return [True, False] is color default
71
71
  def none?
72
- (@red == VALUE_FOR_NONE_COLOR) && (@green == VALUE_FOR_NONE_COLOR) && (@blue == VALUE_FOR_NONE_COLOR) ||
73
- (style == :nil)
72
+ primary_colors_none? ||
73
+ style == :nil
74
74
  end
75
75
 
76
76
  # @return [True, False] is color not default
@@ -83,6 +83,14 @@ module OoxmlParser
83
83
  (@red == 255) && (@green == 255) && (@blue == 255)
84
84
  end
85
85
 
86
+ # Check if all three primary colors are none
87
+ # @return [Boolean]
88
+ def primary_colors_none?
89
+ @red == VALUE_FOR_NONE_COLOR &&
90
+ @green == VALUE_FOR_NONE_COLOR &&
91
+ @blue == VALUE_FOR_NONE_COLOR
92
+ end
93
+
86
94
  # Method to copy object
87
95
  # @return [Color] copied object
88
96
  def copy
@@ -22,9 +22,9 @@ module OoxmlParser
22
22
  # Chroma - The "colorfulness relative to the brightness of a similarly illuminated white".
23
23
  # @return [Color] result
24
24
  def to_rgb
25
- chroma = (1 - (2 * @l - 1).abs) * @s
26
- x = chroma * (1 - ((@h / 60.0) % 2.0 - 1).abs)
27
- m = @l - chroma / 2.0
25
+ chroma = (1 - ((2 * @l) - 1).abs) * @s
26
+ x = chroma * (1 - (((@h / 60.0) % 2.0) - 1).abs)
27
+ m = @l - (chroma / 2.0)
28
28
 
29
29
  rgb = if @h.zero?
30
30
  Color.new(0, 0, 0)
@@ -52,7 +52,7 @@ module OoxmlParser
52
52
  if tint.nil?
53
53
  lum
54
54
  else
55
- tint.negative? ? lum * (1.0 + tint) : lum * (1.0 - tint) + (255 - 255 * (1.0 - tint))
55
+ tint.negative? ? lum * (1.0 + tint) : (lum * (1.0 - tint)) + (255 - (255 * (1.0 - tint)))
56
56
  end
57
57
  end
58
58
 
@@ -114,7 +114,7 @@ module OoxmlParser
114
114
  # and converts into integer
115
115
  def column_number
116
116
  @column.reverse.each_char.reduce(0) do |result, char|
117
- result + (char.downcase.ord - 96) * (26**@column.reverse.index(char))
117
+ result + ((char.downcase.ord - 96) * (26**@column.reverse.index(char)))
118
118
  end
119
119
  end
120
120
 
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OoxmlParser
4
+ # Exception for Nokogiri parsing error
5
+ class NokogiriParsingException < StandardError; end
6
+ end
@@ -4,6 +4,7 @@ require 'filemagic' unless Gem.win_platform?
4
4
  require 'securerandom'
5
5
  require 'nokogiri'
6
6
  require 'zip'
7
+ require_relative 'ooxml_document_object/nokogiri_parsing_exception'
7
8
  require_relative 'ooxml_document_object/ooxml_document_object_helper'
8
9
  require_relative 'ooxml_document_object/ooxml_object_attribute_helper'
9
10
 
@@ -39,7 +40,12 @@ module OoxmlParser
39
40
 
40
41
  # @return [Nokogiri::XML::Document] result of parsing xml via nokogiri
41
42
  def parse_xml(xml_path)
42
- Nokogiri::XML(File.open(xml_path), &:strict)
43
+ xml = Nokogiri::XML(File.open(xml_path), &:strict)
44
+ unless xml.errors.empty?
45
+ raise NokogiriParsingException,
46
+ "Nokogiri found errors in file: #{xml_path}. Errors: #{xml.errors}"
47
+ end
48
+ xml
43
49
  end
44
50
 
45
51
  class << self
@@ -15,10 +15,6 @@ module OoxmlParser
15
15
  attr_reader :font_color
16
16
  # @return [OoxmlSize] space size
17
17
  attr_reader :space
18
- # @return [string] name of font
19
- attr_reader :font_name
20
- # @return [Float] font size
21
- attr_reader :font_size
22
18
  # @return [Symbol] baseline of run
23
19
  attr_reader :baseline
24
20
  # @return [Hyperlink] hyperlink of run
@@ -79,14 +75,7 @@ module OoxmlParser
79
75
  when 'strike'
80
76
  @font_style.strike = value_to_symbol(value)
81
77
  when 'baseline'
82
- case value.value.to_i
83
- when -25_000, -30_000
84
- @baseline = :subscript
85
- when 30_000
86
- @baseline = :superscript
87
- when 0
88
- @baseline = :baseline
89
- end
78
+ @baseline = parse_baseline(value)
90
79
  when 'cap'
91
80
  @caps = value.value.to_sym
92
81
  end
@@ -107,8 +96,6 @@ module OoxmlParser
107
96
  @spacing = RunSpacing.new(parent: self).parse(node_child)
108
97
  when 'color'
109
98
  @color = OoxmlColor.new(parent: self).parse(node_child)
110
- when 'solidFill'
111
- @font_color = Color.new(parent: self).parse_color(node_child.xpath('*').first)
112
99
  when 'latin'
113
100
  @font_name = node_child.attribute('typeface').value
114
101
  when 'b'
@@ -140,9 +127,34 @@ module OoxmlParser
140
127
  end
141
128
  end
142
129
  @font_color = DocxColorScheme.new(parent: self).parse(node)
143
- @font_name = root_object.default_font_typeface if @font_name.empty?
144
- @font_size ||= root_object.default_font_size
145
130
  self
146
131
  end
132
+
133
+ # @return [Float] font size
134
+ def font_size
135
+ @font_size ||= root_object.default_font_size
136
+ end
137
+
138
+ # @return [String] name of font
139
+ def font_name
140
+ return @font_name unless @font_name.empty?
141
+
142
+ root_object.default_font_typeface
143
+ end
144
+
145
+ private
146
+
147
+ # @param value [Nokogiri::XML::Attr] nokogiri parameter to parse
148
+ # @return [Symbol] baseline value depending of type
149
+ def parse_baseline(value)
150
+ case value.value.to_i
151
+ when -25_000, -30_000
152
+ :subscript
153
+ when 30_000
154
+ :superscript
155
+ when 0
156
+ :baseline
157
+ end
158
+ end
147
159
  end
148
160
  end
@@ -96,5 +96,17 @@ module OoxmlParser
96
96
  end
97
97
  end
98
98
  end
99
+
100
+ # Fetch data from `ParagraphSpacing`
101
+ # Which have values with parameters
102
+ # @param valued_spacing [ParagraphSpacing] spacing to get params
103
+ # @return [Spacing]
104
+ def fetch_from_valued_spacing(valued_spacing)
105
+ @before = valued_spacing.before.to_unit(:centimeter).value if valued_spacing.before
106
+ @after = valued_spacing.after.to_unit(:centimeter).value if valued_spacing.after
107
+ @line = valued_spacing.line.to_unit(:centimeter).value if valued_spacing.line
108
+ @line_rule = valued_spacing.line_rule if valued_spacing.line_rule
109
+ self
110
+ end
99
111
  end
100
112
  end
@@ -33,7 +33,7 @@ module OoxmlParser
33
33
  when 'effect'
34
34
  self.effect = node_child.attribute('val').value
35
35
  when 'position'
36
- self.position = (node_child.attribute('val').value.to_f / (28.0 + 1.0 / 3.0) / 2.0).round(1)
36
+ self.position = (node_child.attribute('val').value.to_f / (28.0 + (1.0 / 3.0)) / 2.0).round(1)
37
37
  when 'em'
38
38
  self.em = node_child.attribute('val').value
39
39
  when 'spacing'
@@ -216,12 +216,8 @@ module OoxmlParser
216
216
  @align = node_child.attribute('val').value.to_sym unless node_child.attribute('val').nil?
217
217
  @align = :justify if node_child.attribute('val').value == 'both'
218
218
  when 'spacing'
219
- @spacing.before = (node_child.attribute('before').value.to_f / 566.9).round(2) unless node_child.attribute('before').nil?
220
- @spacing.after = (node_child.attribute('after').value.to_f / 566.9).round(2) unless node_child.attribute('after').nil?
221
- @spacing.line_rule = node_child.attribute('lineRule').value.sub('atLeast', 'at_least').to_sym unless node_child.attribute('lineRule').nil?
222
- unless node_child.attribute('line').nil?
223
- @spacing.line = (@spacing.line_rule == :auto ? (node_child.attribute('line').value.to_f / 240.0).round(2) : (node_child.attribute('line').value.to_f / 566.9).round(2))
224
- end
219
+ @valued_spacing = ParagraphSpacing.new(parent: self).parse(node_child)
220
+ @spacing = @spacing.fetch_from_valued_spacing(@valued_spacing)
225
221
  when 'sectPr'
226
222
  @sector_properties = PageProperties.new(parent: self).parse(node_child, self, default_char_style)
227
223
  @section_break = case @sector_properties.type
@@ -19,8 +19,8 @@ module OoxmlParser
19
19
 
20
20
  # @return [True, False] compare dimensions of size, ignoring orientation
21
21
  def same_dimensions?(other)
22
- (@height == other.height) && (@width == other.width) ||
23
- (@height == other.width) && (@width == other.height)
22
+ ((@height == other.height) && (@width == other.width)) ||
23
+ ((@height == other.width) && (@width == other.height))
24
24
  end
25
25
 
26
26
  # @return [String] get human format name
@@ -3,7 +3,8 @@
3
3
  module OoxmlParser
4
4
  # Class for parsing `snd` tags
5
5
  class Sound < OOXMLDocumentObject
6
- attr_accessor :name
6
+ # @return [String] name of sound
7
+ attr_reader :name
7
8
  # @return [FileReference] image structure
8
9
  attr_accessor :file_reference
9
10
 
@@ -18,7 +19,12 @@ module OoxmlParser
18
19
  # @return [Sound] result of parsing
19
20
  def parse(node)
20
21
  @file_reference = FileReference.new(parent: self).parse(node)
21
- @name = node.attribute('name').value
22
+ node.attributes.each do |key, value|
23
+ case key
24
+ when 'name'
25
+ @name = value.value.to_s
26
+ end
27
+ end
22
28
  self
23
29
  end
24
30
  end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OoxmlParser
4
+ # Class for parsing SlideLayout files
5
+ class SlideLayoutFile < OOXMLDocumentObject
6
+ # @return [CommonSlideData] common slide data
7
+ attr_reader :common_slide_data
8
+
9
+ # Parse SlideLayoutFile
10
+ # @param file [String] path to file to parse
11
+ # @return [SlideLayoutFile] result of parsing
12
+ def parse(file)
13
+ OOXMLDocumentObject.add_to_xmls_stack(file.gsub(OOXMLDocumentObject.path_to_folder, ''))
14
+ doc = parse_xml(file)
15
+ doc.xpath('p:sldLayout/*').each do |node_child|
16
+ case node_child.name
17
+ when 'cSld'
18
+ @common_slide_data = CommonSlideData.new(parent: self).parse(node_child)
19
+ end
20
+ end
21
+ OOXMLDocumentObject.xmls_stack.pop
22
+ self
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OoxmlParser
4
+ # method to help to work with SlideLayouts
5
+ module SlideLayoutsHelper
6
+ # @return [Array<String>] list of slide layouts files
7
+ def slide_layouts_files
8
+ Dir["#{OOXMLDocumentObject.path_to_folder}ppt/slideLayouts/*.xml"]
9
+ end
10
+
11
+ private
12
+
13
+ # Parse slide layouts file
14
+ def parse_slide_layouts
15
+ slide_layouts_files.each do |file|
16
+ @slide_layouts << SlideLayoutFile.new(parent: self).parse(file)
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OoxmlParser
4
+ # Class for parsing SlideMaster files
5
+ class SlideMasterFile < OOXMLDocumentObject
6
+ # @return [CommonSlideData] common slide data
7
+ attr_reader :common_slide_data
8
+
9
+ # Parse SlideMaster
10
+ # @param file [String] path to file to parse
11
+ # @return [SlideMasterFile] result of parsing
12
+ def parse(file)
13
+ OOXMLDocumentObject.add_to_xmls_stack(file.gsub(OOXMLDocumentObject.path_to_folder, ''))
14
+ doc = parse_xml(file)
15
+ doc.xpath('p:sldMaster/*').each do |node_child|
16
+ case node_child.name
17
+ when 'cSld'
18
+ @common_slide_data = CommonSlideData.new(parent: self).parse(node_child)
19
+ end
20
+ end
21
+ OOXMLDocumentObject.xmls_stack.pop
22
+ self
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OoxmlParser
4
+ # method to help to work with SlideMasters
5
+ module SlideMastersHelper
6
+ # @return [Array<String>] list of slide masters files
7
+ def slide_masters_files
8
+ Dir["#{OOXMLDocumentObject.path_to_folder}ppt/slideMasters/*.xml"]
9
+ end
10
+
11
+ private
12
+
13
+ # Parse slide masters file
14
+ def parse_slide_masters
15
+ slide_masters_files.each do |file|
16
+ @slide_masters << SlideMasterFile.new(parent: self).parse(file)
17
+ end
18
+ end
19
+ end
20
+ end
@@ -5,12 +5,18 @@ require_relative 'presentation/presentation_comments'
5
5
  require_relative 'presentation/presentation_helpers'
6
6
  require_relative 'presentation/presentation_theme'
7
7
  require_relative 'presentation/slide'
8
+ require_relative 'presentation/slide_master_file'
9
+ require_relative 'presentation/slide_masters_helper'
10
+ require_relative 'presentation/slide_layout_file'
11
+ require_relative 'presentation/slide_layouts_helper'
8
12
  require_relative 'presentation/slide_size'
9
13
  require_relative 'presentation/table_styles'
10
14
  module OoxmlParser
11
15
  # Basic class for all parsed pptx data
12
16
  class Presentation < CommonDocumentStructure
13
17
  include PresentationHelpers
18
+ include SlideLayoutsHelper
19
+ include SlideMastersHelper
14
20
  attr_accessor :slides, :theme, :slide_size
15
21
  # @return [Relationships] relationships of presentation
16
22
  attr_accessor :relationships
@@ -20,10 +26,16 @@ module OoxmlParser
20
26
  attr_reader :comment_authors
21
27
  # @return [PresentationComments] comments of presentation
22
28
  attr_reader :comments
29
+ # @return [Array<SlideMasterFile>] list of slide master
30
+ attr_reader :slide_masters
31
+ # @return [Array<SlideLayout>] list of slide layouts
32
+ attr_reader :slide_layouts
23
33
 
24
34
  def initialize(params = {})
25
35
  @slides = []
26
36
  @comments = []
37
+ @slide_masters = []
38
+ @slide_layouts = []
27
39
  super
28
40
  end
29
41
 
@@ -56,6 +68,8 @@ module OoxmlParser
56
68
  end
57
69
  OOXMLDocumentObject.xmls_stack.pop
58
70
  @relationships = Relationships.new(parent: self).parse_file("#{OOXMLDocumentObject.path_to_folder}/ppt/_rels/presentation.xml.rels")
71
+ parse_slide_layouts
72
+ parse_slide_masters
59
73
  self
60
74
  end
61
75
  end
@@ -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.15.0'
7
+ STRING = '0.18.1'
8
8
  end
9
9
  end
@@ -19,15 +19,23 @@ module OoxmlParser
19
19
  attr_reader :stop_if_true
20
20
  # @return [Symbol] Relational operator in value rule
21
21
  attr_reader :operator
22
+ # @return [Symbol] Specifies whether top/bottom rule highlights bottom values
23
+ attr_reader :bottom
22
24
  # @return [Symbol] Specifies whether percent is used in top/bottom rule
23
25
  attr_reader :percent
24
26
  # @return [Integer] Number of items in top/bottom rule
25
27
  attr_reader :rank
28
+ # @return [Boolean] Specifies whether rule highlights values above average
29
+ attr_reader :above_average
30
+ # @return [Boolean] Specifies whether rule highlights values equal to average
31
+ attr_reader :equal_average
26
32
  # @return [Integer] Number of standard deviations in above/below average rule
27
33
  attr_reader :standard_deviation
28
- # @return [String] text value in text rule
34
+ # @return [String] Text value in text rule
29
35
  attr_reader :text
30
- # @return [Array, Formula] Formulas to determine condition
36
+ # @return [Symbol] Time period in date rule
37
+ attr_reader :time_period
38
+ # @return [Array<Formula>] Formulas to determine condition
31
39
  attr_reader :formulas
32
40
  # @return [DifferentialFormattingRecord] Format
33
41
  attr_reader :rule_format
@@ -39,6 +47,7 @@ module OoxmlParser
39
47
  attr_reader :icon_set
40
48
 
41
49
  def initialize(parent: nil)
50
+ @above_average = true
42
51
  @formulas = []
43
52
  super
44
53
  end
@@ -61,14 +70,22 @@ module OoxmlParser
61
70
  @stop_if_true = attribute_enabled?(value)
62
71
  when 'operator'
63
72
  @operator = value.value.to_sym
73
+ when 'bottom'
74
+ @bottom = attribute_enabled?(value)
64
75
  when 'percent'
65
76
  @percent = attribute_enabled?(value)
66
77
  when 'rank'
67
78
  @rank = value.value.to_i
79
+ when 'aboveAverage'
80
+ @above_average = attribute_enabled?(value)
81
+ when 'equalAverage'
82
+ @equal_average = attribute_enabled?(value)
68
83
  when 'stdDev'
69
84
  @standard_deviation = value.value.to_i
70
85
  when 'text'
71
86
  @text = value.text.to_s
87
+ when 'timePeriod'
88
+ @time_period = value.value.to_sym
72
89
  end
73
90
  end
74
91
 
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.15.0
4
+ version: 0.18.1
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: 2021-09-13 00:00:00.000000000 Z
13
+ date: 2021-11-11 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: nokogiri
@@ -305,6 +305,7 @@ files:
305
305
  - lib/ooxml_parser/common_parser/common_data/font_style.rb
306
306
  - lib/ooxml_parser/common_parser/common_data/hyperlink.rb
307
307
  - lib/ooxml_parser/common_parser/common_data/ooxml_document_object.rb
308
+ - lib/ooxml_parser/common_parser/common_data/ooxml_document_object/nokogiri_parsing_exception.rb
308
309
  - lib/ooxml_parser/common_parser/common_data/ooxml_document_object/ooxml_document_object_helper.rb
309
310
  - lib/ooxml_parser/common_parser/common_data/ooxml_document_object/ooxml_object_attribute_helper.rb
310
311
  - lib/ooxml_parser/common_parser/common_data/paragraph.rb
@@ -480,6 +481,10 @@ files:
480
481
  - lib/ooxml_parser/pptx_parser/pptx_data/presentation/slide/transition/transition/sound_action/sound.rb
481
482
  - lib/ooxml_parser/pptx_parser/pptx_data/presentation/slide/transition/transition_properties/transition_properties.rb
482
483
  - lib/ooxml_parser/pptx_parser/pptx_data/presentation/slide/transition/transition_properties/transition_properties/wheel.rb
484
+ - lib/ooxml_parser/pptx_parser/pptx_data/presentation/slide_layout_file.rb
485
+ - lib/ooxml_parser/pptx_parser/pptx_data/presentation/slide_layouts_helper.rb
486
+ - lib/ooxml_parser/pptx_parser/pptx_data/presentation/slide_master_file.rb
487
+ - lib/ooxml_parser/pptx_parser/pptx_data/presentation/slide_masters_helper.rb
483
488
  - lib/ooxml_parser/pptx_parser/pptx_data/presentation/slide_size.rb
484
489
  - lib/ooxml_parser/pptx_parser/pptx_data/presentation/table_styles.rb
485
490
  - lib/ooxml_parser/pptx_parser/pptx_parser.rb
@@ -589,7 +594,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
589
594
  - !ruby/object:Gem::Version
590
595
  version: '0'
591
596
  requirements: []
592
- rubygems_version: 3.2.27
597
+ rubygems_version: 3.2.29
593
598
  signing_key:
594
599
  specification_version: 4
595
600
  summary: OoxmlParser Gem