ooxml_parser 0.7.2 → 0.8.0

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 (24) hide show
  1. checksums.yaml +4 -4
  2. data/lib/ooxml_parser/common_parser/common_data/alternate_content/drawing/docx_drawing.rb +1 -20
  3. data/lib/ooxml_parser/common_parser/common_data/alternate_content/drawing/drawing_properties/docx_drawing_properties.rb +51 -4
  4. data/lib/ooxml_parser/common_parser/common_data/alternate_content/drawing/graphic/shape/shape_properties/docx_shape_properties.rb +12 -2
  5. data/lib/ooxml_parser/common_parser/common_data/alternate_content/drawing/graphic/shape/shape_properties/docx_shape_size.rb +10 -3
  6. data/lib/ooxml_parser/common_parser/common_data/color.rb +9 -75
  7. data/lib/ooxml_parser/common_parser/common_data/color/color_helper.rb +4 -3
  8. data/lib/ooxml_parser/common_parser/common_data/color/color_indexes.list +66 -0
  9. data/lib/ooxml_parser/common_parser/common_data/colors/color_properties.rb +8 -2
  10. data/lib/ooxml_parser/common_parser/common_data/hyperlink.rb +14 -3
  11. data/lib/ooxml_parser/common_parser/common_data/ooxml_document_object.rb +4 -0
  12. data/lib/ooxml_parser/common_parser/common_data/paragraph/paragraph_run/run_properties.rb +28 -6
  13. data/lib/ooxml_parser/common_parser/common_data/paragraph/paragraph_run/run_properties/outline.rb +4 -2
  14. data/lib/ooxml_parser/common_parser/common_data/underline.rb +3 -2
  15. data/lib/ooxml_parser/docx_parser/docx_data/document_structure.rb +14 -6
  16. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph.rb +3 -7
  17. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/indents.rb +2 -2
  18. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/header_footer.rb +8 -2
  19. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/page_properties/columns.rb +3 -1
  20. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/page_properties/note.rb +3 -2
  21. data/lib/ooxml_parser/pptx_parser/pptx_data/presentation/slide.rb +2 -2
  22. data/lib/ooxml_parser/pptx_parser/pptx_parser.rb +1 -1
  23. data/lib/ooxml_parser/version.rb +1 -1
  24. metadata +7 -6
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a6c4527d0b7792aa56cbbebb6bd824ae102ef05ebd34cf5c254d237b4db91649
4
- data.tar.gz: 2ec7cc8db0789617c92def28654e0beac19cbc5197348cb440097a0e911a6542
3
+ metadata.gz: bff9ef732546243f5b751041e9fb41602a4e0ca823f93a83f671975e881cf6fd
4
+ data.tar.gz: 3e5bc500fb572b0fa43297f6d85a0f47e1d35365caed9803441b81785808e83d
5
5
  SHA512:
6
- metadata.gz: d5b906924c2cd8fdfb0c199d3de2070964875bd514bfa4090160e3aec18d712d6f5a91159c9a1961d7a76569ba04aef40baedcf5127f1315fc0e628ae50c73fe
7
- data.tar.gz: 06eb55cf4eb895dc896721e796f97e12e973af1f27fde9e463fcc74ba8994ae6d8ffe3f7d03e64c0a72283a735e9e044f68fa0e93ee0808e0457cf6a67d40100
6
+ metadata.gz: 93a6648cf7f5ce6a088d3c654c2c50b04afb363507e20ef8f2198ba35265310dfc44205819b32d635b997c589656bb87514fc5ab2007d2b898accf4d8fcb2b4b
7
+ data.tar.gz: 3e3f6e9c0a70516a176f5614294f8aecb02be45219c9a9c6799d3b3e75e7a2d7b6ff0a3680e6a8f18d8bbd6d8658740cac1157447b94659bd082a07ec9025a5e
@@ -30,34 +30,15 @@ module OoxmlParser
30
30
  when 'inline'
31
31
  @type = :inline
32
32
  end
33
- @properties.distance_from_text = DocxDrawingDistanceFromText.new(parent: self).parse(node_child)
34
- @properties.wrap = DocxWrapDrawing.new(parent: self).parse(node_child)
35
- node_child.attributes.each do |key, value|
36
- case key
37
- when 'relativeHeight'
38
- @properties.relative_height = value.value.to_i
39
- end
40
- end
41
33
  node_child.xpath('*').each do |content_node_child|
42
34
  case content_node_child.name
43
- when 'simplePos'
44
- @properties.simple_position = OOXMLCoordinates.parse(content_node_child)
45
- when 'extent'
46
- @properties.object_size = OOXMLCoordinates.parse(content_node_child, x_attr: 'cx', y_attr: 'cy', unit: :emu)
47
35
  when 'graphic'
48
36
  @graphic = DocxGraphic.new(parent: self).parse(content_node_child)
49
- when 'positionV'
50
- @properties.vertical_position = DocxDrawingPosition.new(parent: self).parse(content_node_child)
51
- when 'positionH'
52
- @properties.horizontal_position = DocxDrawingPosition.new(parent: self).parse(content_node_child)
53
- when 'sizeRelH'
54
- @properties.size_relative_horizontal = SizeRelativeHorizontal.new(parent: self).parse(content_node_child)
55
- when 'sizeRelV'
56
- @properties.size_relative_vertical = SizeRelativeVertical.new(parent: self).parse(content_node_child)
57
37
  when 'docPr'
58
38
  @doc_properties = DocProperties.new(parent: self).parse(content_node_child)
59
39
  end
60
40
  end
41
+ @properties.parse(node_child)
61
42
  end
62
43
  self
63
44
  end
@@ -8,9 +8,56 @@ require_relative 'docx_wrap_drawing'
8
8
  module OoxmlParser
9
9
  # Docx Drawing Properties
10
10
  class DocxDrawingProperties < OOXMLDocumentObject
11
- attr_accessor :distance_from_text, :simple_position, :wrap, :object_size, :vertical_position, :horizontal_position,
12
- :relative_height
13
- attr_accessor :size_relative_horizontal
14
- attr_accessor :size_relative_vertical
11
+ # @return [DocxDrawingDistanceFromText] distance from text
12
+ attr_reader :distance_from_text
13
+ # @return [DocxWrapDrawing] wrap of drawing
14
+ attr_reader :wrap
15
+ # @return [Integer] relative height of object
16
+ attr_reader :relative_height
17
+ # @return [OOXMLCoordinates] simple position of object
18
+ attr_reader :simple_position
19
+ # @return [OOXMLCoordinates] size of object
20
+ attr_reader :object_size
21
+ # @return [DocxDrawingPosition] vertical position
22
+ attr_reader :vertical_position
23
+ # @return [DocxDrawingPosition] horizontal position
24
+ attr_reader :horizontal_position
25
+ # @return [SizeRelativeHorizontal] size of drawing relative to horizontal
26
+ attr_reader :size_relative_horizontal
27
+ # @return [SizeRelativeVertical] size of drawing relative to vertical
28
+ attr_reader :size_relative_vertical
29
+
30
+ # Parse DocxDrawingProperties
31
+ # @param [Nokogiri::XML:Node] node with DocxDrawingProperties
32
+ # @return [DocxDrawingProperties] result of parsing
33
+ def parse(node)
34
+ @distance_from_text = DocxDrawingDistanceFromText.new(parent: self).parse(node)
35
+ @wrap = DocxWrapDrawing.new(parent: self).parse(node)
36
+
37
+ node.attributes.each do |key, value|
38
+ case key
39
+ when 'relativeHeight'
40
+ @relative_height = value.value.to_i
41
+ end
42
+ end
43
+
44
+ node.xpath('*').each do |content_node_child|
45
+ case content_node_child.name
46
+ when 'simplePos'
47
+ @simple_position = OOXMLCoordinates.parse(content_node_child)
48
+ when 'extent'
49
+ @object_size = OOXMLCoordinates.parse(content_node_child, x_attr: 'cx', y_attr: 'cy', unit: :emu)
50
+ when 'positionV'
51
+ @vertical_position = DocxDrawingPosition.new(parent: self).parse(content_node_child)
52
+ when 'positionH'
53
+ @horizontal_position = DocxDrawingPosition.new(parent: self).parse(content_node_child)
54
+ when 'sizeRelH'
55
+ @size_relative_horizontal = SizeRelativeHorizontal.new(parent: self).parse(content_node_child)
56
+ when 'sizeRelV'
57
+ @size_relative_vertical = SizeRelativeVertical.new(parent: self).parse(content_node_child)
58
+ end
59
+ end
60
+ self
61
+ end
15
62
  end
16
63
  end
@@ -10,8 +10,18 @@ require_relative 'custom_geometry/ooxml_custom_geometry'
10
10
  module OoxmlParser
11
11
  # DOCX Shape Properties
12
12
  class DocxShapeProperties < OOXMLDocumentObject
13
- attr_accessor :shape_size, :preset_geometry, :fill_color, :line, :custom_geometry
14
- attr_accessor :blip_fill
13
+ # @return [DocxShapeSize] size of shape
14
+ attr_reader :shape_size
15
+ # @return [PresetGeometry] preset geometry of object
16
+ attr_reader :preset_geometry
17
+ # @return [DocxColor] color of object
18
+ attr_reader :fill_color
19
+ # @return [DocxShapeLine] line info
20
+ attr_reader :line
21
+ # @return [PresetGeometry] is some geometry custom
22
+ attr_reader :custom_geometry
23
+ # @return [BlipFill] BlipFill data
24
+ attr_reader :blip_fill
15
25
 
16
26
  alias transform shape_size
17
27
  alias fill fill_color
@@ -3,9 +3,16 @@
3
3
  module OoxmlParser
4
4
  # Docx Shape Size
5
5
  class DocxShapeSize < OOXMLDocumentObject
6
- attr_accessor :rotation, :offset, :extent
7
- attr_accessor :child_offset
8
- attr_accessor :child_extent
6
+ # @return [OoxmlSize] rotation info
7
+ attr_reader :rotation
8
+ # @return [OOXMLCoordinates] offset info
9
+ attr_reader :offset
10
+ # @return [OOXMLCoordinates] extent info
11
+ attr_reader :extent
12
+ # @return [OOXMLCoordinates] child offset
13
+ attr_reader :child_offset
14
+ # @return [OOXMLCoordinates] child extent
15
+ attr_reader :child_extent
9
16
  # @return [True, False] is image flipped horizontally
10
17
  attr_reader :flip_horizontal
11
18
  # @return [True, False] is image flipped vertically
@@ -12,79 +12,6 @@ module OoxmlParser
12
12
  # Class for Color in RGB
13
13
  class Color < OOXMLDocumentObject
14
14
  include ColorHelper
15
- # @return [Array] Deprecated Indexed colors
16
- # List of color duplicated from `OpenXML Sdk IndexedColors` class
17
- # See https://msdn.microsoft.com/en-us/library/documentformat.openxml.spreadsheet.indexedcolors.aspx
18
- COLOR_INDEXED =
19
- %w[
20
- 000000
21
- FFFFFF
22
- FF0000
23
- 00FF00
24
- 0000FF
25
- FFFF00
26
- FF00FF
27
- 00FFFF
28
- 000000
29
- FFFFFF
30
- FF0000
31
- 00FF00
32
- 0000FF
33
- FFFF00
34
- FF00FF
35
- 00FFFF
36
- 800000
37
- 008000
38
- 000080
39
- 808000
40
- 800080
41
- 008080
42
- C0C0C0
43
- 808080
44
- 9999FF
45
- 993366
46
- FFFFCC
47
- CCFFFF
48
- 660066
49
- FF8080
50
- 0066CC
51
- CCCCFF
52
- 000080
53
- FF00FF
54
- FFFF00
55
- 00FFFF
56
- 800080
57
- 800000
58
- 008080
59
- 0000FF
60
- 00CCFF
61
- CCFFFF
62
- CCFFCC
63
- FFFF99
64
- 99CCFF
65
- FF99CC
66
- CC99FF
67
- FFCC99
68
- 3366FF
69
- 33CCCC
70
- 99CC00
71
- FFCC00
72
- FF9900
73
- FF6600
74
- 666699
75
- 969696
76
- 003366
77
- 339966
78
- 003300
79
- 333300
80
- 993300
81
- 993366
82
- 333399
83
- 333333
84
- n/a
85
- n/a
86
- ].freeze
87
-
88
15
  # @return [Integer] Value of Red Part
89
16
  attr_accessor :red
90
17
  # @return [Integer] Value of Green Part
@@ -103,7 +30,7 @@ module OoxmlParser
103
30
 
104
31
  alias set_alpha_channel alpha_channel=
105
32
 
106
- attr_accessor :position
33
+ # @return [ColorProperties] properties of color
107
34
  attr_accessor :properties
108
35
 
109
36
  # Value of color if non selected
@@ -320,12 +247,19 @@ module OoxmlParser
320
247
  # @param index [Integer] index to get
321
248
  # @return [Color] color by it's index
322
249
  def get_rgb_by_color_index(index)
323
- color_by_index = COLOR_INDEXED[index]
250
+ color_by_index = color_indexes[index]
324
251
  return :unknown if color_by_index.nil?
325
252
 
326
253
  color_by_index == 'n/a' ? Color.new : Color.new.parse_hex_string(color_by_index)
327
254
  end
328
255
 
256
+ # @return [Array] Deprecated Indexed colors
257
+ # List of color duplicated from `OpenXML Sdk IndexedColors` class
258
+ # See https://msdn.microsoft.com/en-us/library/documentformat.openxml.spreadsheet.indexedcolors.aspx
259
+ def color_indexes
260
+ @color_indexes ||= File.readlines("#{__dir__}/color/color_indexes.list", chomp: true)
261
+ end
262
+
329
263
  # Parse color from string
330
264
  # @param str [String] string to parse
331
265
  # @return [Color] result of parsing
@@ -9,15 +9,16 @@ module OoxmlParser
9
9
  return self if %w[auto null].include?(hex_string)
10
10
 
11
11
  char_array = hex_string.split(//)
12
- if char_array.length == 3
12
+ case char_array.length
13
+ when 3
13
14
  @red = char_array[0].hex
14
15
  @green = char_array[1].hex
15
16
  @blue = char_array[2].hex
16
- elsif char_array.length == 6
17
+ when 6
17
18
  @red = (char_array[0] + char_array[1]).hex
18
19
  @green = (char_array[2] + char_array[3]).hex
19
20
  @blue = (char_array[4] + char_array[5]).hex
20
- elsif char_array.length == 8
21
+ when 8
21
22
  @alpha_channel = (char_array[0] + char_array[1]).hex
22
23
  @red = (char_array[2] + char_array[3]).hex
23
24
  @green = (char_array[4] + char_array[5]).hex
@@ -0,0 +1,66 @@
1
+ 000000
2
+ FFFFFF
3
+ FF0000
4
+ 00FF00
5
+ 0000FF
6
+ FFFF00
7
+ FF00FF
8
+ 00FFFF
9
+ 000000
10
+ FFFFFF
11
+ FF0000
12
+ 00FF00
13
+ 0000FF
14
+ FFFF00
15
+ FF00FF
16
+ 00FFFF
17
+ 800000
18
+ 008000
19
+ 000080
20
+ 808000
21
+ 800080
22
+ 008080
23
+ C0C0C0
24
+ 808080
25
+ 9999FF
26
+ 993366
27
+ FFFFCC
28
+ CCFFFF
29
+ 660066
30
+ FF8080
31
+ 0066CC
32
+ CCCCFF
33
+ 000080
34
+ FF00FF
35
+ FFFF00
36
+ 00FFFF
37
+ 800080
38
+ 800000
39
+ 008080
40
+ 0000FF
41
+ 00CCFF
42
+ CCFFFF
43
+ CCFFCC
44
+ FFFF99
45
+ 99CCFF
46
+ FF99CC
47
+ CC99FF
48
+ FFCC99
49
+ 3366FF
50
+ 33CCCC
51
+ 99CC00
52
+ FFCC00
53
+ FF9900
54
+ FF6600
55
+ 666699
56
+ 969696
57
+ 003366
58
+ 339966
59
+ 003300
60
+ 333300
61
+ 993300
62
+ 993366
63
+ 333399
64
+ 333333
65
+ n/a
66
+ n/a
@@ -3,8 +3,14 @@
3
3
  module OoxmlParser
4
4
  # Class for color transformations
5
5
  class ColorProperties < OOXMLDocumentObject
6
- attr_accessor :alpha, :luminance_modulation, :luminance_offset
7
- attr_accessor :tint
6
+ # @return [Integer] alpha value of color
7
+ attr_reader :alpha
8
+ # @return [Float] luminance modulation value
9
+ attr_reader :luminance_modulation
10
+ # @return [Float] luminance offset value
11
+ attr_reader :luminance_offset
12
+ # @return [Float] tint value
13
+ attr_reader :tint
8
14
 
9
15
  # Parse ColorProperties object
10
16
  # @param node [Nokogiri::XML:Element] node to parse
@@ -3,9 +3,20 @@
3
3
  module OoxmlParser
4
4
  # Class for parsing `hlinkClick`, `hyperlink` tags
5
5
  class Hyperlink < OOXMLDocumentObject
6
- attr_accessor :url, :tooltip, :coordinates, :highlight_click, :action
7
- attr_accessor :action_link
8
- attr_accessor :id
6
+ # @return [OOXMLDocumentObject] url of hyperlink
7
+ attr_accessor :url
8
+ # @return [String] tooltip value
9
+ attr_reader :tooltip
10
+ # @return [Coordinates] coordinates of link
11
+ attr_reader :coordinates
12
+ # @return [True, False] should click be highlighted
13
+ attr_reader :highlight_click
14
+ # @return [Symbol] type of action
15
+ attr_reader :action
16
+ # @return [String] value of action link
17
+ attr_reader :action_link
18
+ # @return [String] id of link
19
+ attr_reader :id
9
20
  # @return [Array<ParagraphRun>] run of paragraph
10
21
  attr_reader :runs
11
22
 
@@ -43,9 +43,13 @@ module OoxmlParser
43
43
  end
44
44
 
45
45
  class << self
46
+ # @return [String] path to root subfolder
46
47
  attr_accessor :root_subfolder
48
+ # @return [PresentationTheme] list of themes
47
49
  attr_accessor :theme
50
+ # @return [Array<String>] stack of xmls
48
51
  attr_accessor :xmls_stack
52
+ # @return [String] path to root folder
49
53
  attr_accessor :path_to_folder
50
54
 
51
55
  # @param path_to_file [String] file
@@ -9,12 +9,34 @@ require_relative 'run_properties/shade'
9
9
  module OoxmlParser
10
10
  # Data about `rPr` object
11
11
  class RunProperties < OOXMLDocumentObject
12
- attr_accessor :font_style, :font_color, :space, :dirty, :font_name, :font_size, :baseline, :hyperlink, :caps,
13
- :vertical_align, :outline
14
- attr_accessor :shadow
15
- attr_accessor :emboss
16
- attr_accessor :vanish
17
- attr_accessor :rtl
12
+ # @return [FontStyle] font style of run
13
+ attr_accessor :font_style
14
+ # @return [Color, DocxColorScheme] color of run
15
+ attr_reader :font_color
16
+ # @return [OoxmlSize] space size
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
+ # @return [Symbol] baseline of run
23
+ attr_reader :baseline
24
+ # @return [Hyperlink] hyperlink of run
25
+ attr_reader :hyperlink
26
+ # @return [Symbol] caps data
27
+ attr_reader :caps
28
+ # @return [Symbol] vertical align data
29
+ attr_reader :vertical_align
30
+ # @return [Outline] outline data
31
+ attr_reader :outline
32
+ # @return [True, False] is text shadow
33
+ attr_reader :shadow
34
+ # @return [True, False] is text emboss
35
+ attr_reader :emboss
36
+ # @return [True, False] is text vanish
37
+ attr_reader :vanish
38
+ # @return [True, False] is text rtl
39
+ attr_reader :rtl
18
40
  # @return [Size] get run size
19
41
  attr_accessor :size
20
42
  # @return [RunSpacing] get run spacing
@@ -4,8 +4,10 @@
4
4
  module OoxmlParser
5
5
  # Class for parsing `w:ln` tags
6
6
  class Outline < OOXMLDocumentObject
7
- attr_accessor :width
8
- attr_accessor :color_scheme
7
+ # @return [OoxmlSize] width of outline
8
+ attr_reader :width
9
+ # @return [DocxColorScheme] color of outline
10
+ attr_reader :color_scheme
9
11
 
10
12
  def initialize(parent: nil)
11
13
  @width = OoxmlSize.new(0)
@@ -15,9 +15,10 @@ module OoxmlParser
15
15
  # @param other [Object] any other object
16
16
  # @return [True, False] result of comparision
17
17
  def ==(other)
18
- if other.is_a? Underline
18
+ case other
19
+ when Underline
19
20
  @style.to_sym == other.style.to_sym && @color == other.color
20
- elsif other.is_a? Symbol
21
+ when Symbol
21
22
  @style.to_sym == other
22
23
  else
23
24
  false
@@ -18,12 +18,23 @@ module OoxmlParser
18
18
  class DocumentStructure < CommonDocumentStructure
19
19
  include DocumentStyleHelper
20
20
  include DocumentStructureHelpers
21
- attr_accessor :elements, :page_properties, :notes, :background, :document_properties, :comments
22
-
21
+ # @return [Array<OOXMLDocumentObject>] list of elements
22
+ attr_accessor :elements
23
+ # @return [PageProperties] properties of document
24
+ attr_accessor :page_properties
25
+ # @return [Note] notes of document
26
+ attr_accessor :notes
27
+ # @return [DocumentBackground] background of document
28
+ attr_accessor :background
29
+ # @return [DocumentProperties] properties of document
30
+ attr_accessor :document_properties
31
+ # @return [Comments] comment of document
32
+ attr_accessor :comments
23
33
  # @return [Numbering] store numbering data
24
34
  attr_accessor :numbering
25
35
  # @return [Styles] styles of document
26
36
  attr_accessor :styles
37
+ # @return [PresentationTheme] theme of docx
27
38
  attr_accessor :theme
28
39
  # @return [Relationships] relationships
29
40
  attr_accessor :relationships
@@ -273,10 +284,7 @@ module OoxmlParser
273
284
  end
274
285
 
275
286
  class << self
276
- attr_accessor :default_table_run_style
277
- attr_accessor :default_table_paragraph_style
278
- attr_accessor :default_paragraph_style
279
- attr_accessor :default_run_style
287
+ attr_accessor :default_table_run_style, :default_table_paragraph_style, :default_paragraph_style, :default_run_style
280
288
  end
281
289
  end
282
290
  end
@@ -71,14 +71,10 @@ module OoxmlParser
71
71
  # @return [Array<OOXMLDocumentObject>] array of child objects that contains data
72
72
  def nonempty_runs
73
73
  @character_style_array.select do |cur_run|
74
- if cur_run.is_a?(DocxParagraphRun) || cur_run.is_a?(ParagraphRun)
74
+ case cur_run
75
+ when DocxParagraphRun, ParagraphRun
75
76
  !cur_run.empty?
76
- elsif cur_run.is_a?(DocxFormula) ||
77
- cur_run.is_a?(StructuredDocumentTag) ||
78
- cur_run.is_a?(BookmarkStart) ||
79
- cur_run.is_a?(BookmarkEnd) ||
80
- cur_run.is_a?(CommentRangeStart) ||
81
- cur_run.is_a?(CommentRangeEnd)
77
+ when DocxFormula, StructuredDocumentTag, BookmarkStart, BookmarkEnd, CommentRangeStart, CommentRangeEnd
82
78
  true
83
79
  end
84
80
  end
@@ -25,8 +25,8 @@ module OoxmlParser
25
25
  # Convert to string
26
26
  # @return [String] result of conversion
27
27
  def to_s
28
- "first line indent: #{@first_line_indent}, left indent: #{@left_indent},
29
- right indent: #{@right_indent}, hanging indent: #{@hanging_indent}"
28
+ "first line indent: #{@first_line_indent}, left indent: #{@left_indent}, "\
29
+ "right indent: #{@right_indent}, hanging indent: #{@hanging_indent}"
30
30
  end
31
31
 
32
32
  # Parse Indents
@@ -3,8 +3,14 @@
3
3
  module OoxmlParser
4
4
  # Class Header Footer classes
5
5
  class HeaderFooter < OOXMLDocumentObject
6
- attr_accessor :id, :elements, :type
7
- attr_accessor :path_suffix
6
+ # @return [Integer] id of header-footer
7
+ attr_reader :id
8
+ # @return [Array<OOXMLDocumentObject>] list of elements if object
9
+ attr_reader :elements
10
+ # @return [Symbol] `:header` or `:footer`
11
+ attr_reader :type
12
+ # @return [String] suffix for object files
13
+ attr_reader :path_suffix
8
14
 
9
15
  def initialize(type = :header, parent: nil)
10
16
  @type = type
@@ -4,10 +4,12 @@ require_relative 'columns/column'
4
4
  module OoxmlParser
5
5
  # Class for data of Columns
6
6
  class Columns < OOXMLDocumentObject
7
+ # @return [Integer] count of columns
7
8
  attr_accessor :count
9
+ # @return [True, False] is columns are equal width
8
10
  attr_accessor :equal_width
9
-
10
11
  alias equal_width? equal_width
12
+ # @return [Array<Column>] list of colujmns
11
13
  attr_accessor :column_array
12
14
  # @return [Boolean] Draw Line Between Columns
13
15
  attr_reader :separator
@@ -26,10 +26,11 @@ module OoxmlParser
26
26
  doc.search(xpath_note).each do |ftr|
27
27
  number = 0
28
28
  ftr.xpath('*').each do |sub_element|
29
- if sub_element.name == 'p'
29
+ case sub_element.name
30
+ when 'p'
30
31
  note.elements << params[:default_paragraph].dup.parse(sub_element, number, params[:default_character], parent: note)
31
32
  number += 1
32
- elsif sub_element.name == 'tbl'
33
+ when 'tbl'
33
34
  note.elements << Table.new(parent: note).parse(sub_element, number)
34
35
  number += 1
35
36
  end
@@ -3,8 +3,8 @@
3
3
  require_relative 'slide/presentation_alternate_content'
4
4
  require_relative 'slide/background'
5
5
  require_relative 'slide/common_slide_data'
6
- require_relative 'slide/connection_shape.rb'
7
- require_relative 'slide/presentation_notes.rb'
6
+ require_relative 'slide/connection_shape'
7
+ require_relative 'slide/presentation_notes'
8
8
  require_relative 'slide/graphic_frame/graphic_frame'
9
9
  require_relative 'slide/slide/shapes_grouping'
10
10
  require_relative 'slide/slide/timing'
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'pptx_data/presentation.rb'
3
+ require_relative 'pptx_data/presentation'
4
4
 
5
5
  module OoxmlParser
6
6
  # Basic class for parsing pptx
@@ -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.7.2'
7
+ STRING = '0.8.0'
8
8
  end
9
9
  end
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.7.2
4
+ version: 0.8.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: 2020-07-10 00:00:00.000000000 Z
13
+ date: 2020-07-31 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: nokogiri
@@ -80,28 +80,28 @@ dependencies:
80
80
  requirements:
81
81
  - - '='
82
82
  - !ruby/object:Gem::Version
83
- version: 0.87.1
83
+ version: 0.88.0
84
84
  type: :development
85
85
  prerelease: false
86
86
  version_requirements: !ruby/object:Gem::Requirement
87
87
  requirements:
88
88
  - - '='
89
89
  - !ruby/object:Gem::Version
90
- version: 0.87.1
90
+ version: 0.88.0
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: rubocop-performance
93
93
  requirement: !ruby/object:Gem::Requirement
94
94
  requirements:
95
95
  - - '='
96
96
  - !ruby/object:Gem::Version
97
- version: 1.7.0
97
+ version: 1.7.1
98
98
  type: :development
99
99
  prerelease: false
100
100
  version_requirements: !ruby/object:Gem::Requirement
101
101
  requirements:
102
102
  - - '='
103
103
  - !ruby/object:Gem::Version
104
- version: 1.7.0
104
+ version: 1.7.1
105
105
  - !ruby/object:Gem::Dependency
106
106
  name: rubocop-rake
107
107
  requirement: !ruby/object:Gem::Requirement
@@ -220,6 +220,7 @@ files:
220
220
  - lib/ooxml_parser/common_parser/common_data/borders_properties.rb
221
221
  - lib/ooxml_parser/common_parser/common_data/color.rb
222
222
  - lib/ooxml_parser/common_parser/common_data/color/color_helper.rb
223
+ - lib/ooxml_parser/common_parser/common_data/color/color_indexes.list
223
224
  - lib/ooxml_parser/common_parser/common_data/color/ooxml_color.rb
224
225
  - lib/ooxml_parser/common_parser/common_data/colors/color_alpha_channel.rb
225
226
  - lib/ooxml_parser/common_parser/common_data/colors/color_properties.rb