caxlsx 3.2.0 → 3.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (301) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +9 -9
  3. data/.yardopts_guide +18 -18
  4. data/CHANGELOG.md +394 -354
  5. data/LICENSE +21 -21
  6. data/README.md +184 -168
  7. data/Rakefile +28 -29
  8. data/examples/generate.rb +15 -15
  9. data/lib/axlsx/content_type/abstract_content_type.rb +29 -32
  10. data/lib/axlsx/content_type/content_type.rb +22 -26
  11. data/lib/axlsx/content_type/default.rb +21 -25
  12. data/lib/axlsx/content_type/override.rb +21 -25
  13. data/lib/axlsx/doc_props/app.rb +230 -235
  14. data/lib/axlsx/doc_props/core.rb +34 -39
  15. data/lib/axlsx/drawing/area_chart.rb +96 -99
  16. data/lib/axlsx/drawing/area_series.rb +107 -110
  17. data/lib/axlsx/drawing/ax_data_source.rb +21 -26
  18. data/lib/axlsx/drawing/axes.rb +60 -61
  19. data/lib/axlsx/drawing/axis.rb +185 -190
  20. data/lib/axlsx/drawing/bar_3D_chart.rb +145 -148
  21. data/lib/axlsx/drawing/bar_chart.rb +135 -138
  22. data/lib/axlsx/drawing/bar_series.rb +91 -97
  23. data/lib/axlsx/drawing/bubble_chart.rb +56 -59
  24. data/lib/axlsx/drawing/bubble_series.rb +60 -63
  25. data/lib/axlsx/drawing/cat_axis.rb +80 -85
  26. data/lib/axlsx/drawing/chart.rb +294 -276
  27. data/lib/axlsx/drawing/d_lbls.rb +92 -90
  28. data/lib/axlsx/drawing/drawing.rb +163 -167
  29. data/lib/axlsx/drawing/graphic_frame.rb +51 -54
  30. data/lib/axlsx/drawing/hyperlink.rb +97 -100
  31. data/lib/axlsx/drawing/line_3D_chart.rb +64 -68
  32. data/lib/axlsx/drawing/line_chart.rb +96 -99
  33. data/lib/axlsx/drawing/line_series.rb +107 -110
  34. data/lib/axlsx/drawing/marker.rb +80 -84
  35. data/lib/axlsx/drawing/num_data.rb +47 -52
  36. data/lib/axlsx/drawing/num_data_source.rb +58 -62
  37. data/lib/axlsx/drawing/num_val.rb +31 -34
  38. data/lib/axlsx/drawing/one_cell_anchor.rb +97 -99
  39. data/lib/axlsx/drawing/pic.rb +244 -211
  40. data/lib/axlsx/drawing/picture_locking.rb +39 -42
  41. data/lib/axlsx/drawing/pie_3D_chart.rb +42 -47
  42. data/lib/axlsx/drawing/pie_series.rb +69 -74
  43. data/lib/axlsx/drawing/scaling.rb +57 -60
  44. data/lib/axlsx/drawing/scatter_chart.rb +71 -74
  45. data/lib/axlsx/drawing/scatter_series.rb +126 -129
  46. data/lib/axlsx/drawing/ser_axis.rb +41 -45
  47. data/lib/axlsx/drawing/series.rb +67 -69
  48. data/lib/axlsx/drawing/series_title.rb +23 -25
  49. data/lib/axlsx/drawing/str_data.rb +37 -42
  50. data/lib/axlsx/drawing/str_val.rb +31 -34
  51. data/lib/axlsx/drawing/title.rb +104 -97
  52. data/lib/axlsx/drawing/two_cell_anchor.rb +95 -97
  53. data/lib/axlsx/drawing/val_axis.rb +34 -37
  54. data/lib/axlsx/drawing/view_3D.rb +115 -115
  55. data/lib/axlsx/drawing/vml_drawing.rb +39 -42
  56. data/lib/axlsx/drawing/vml_shape.rb +63 -66
  57. data/lib/axlsx/package.rb +397 -388
  58. data/lib/axlsx/rels/relationship.rb +127 -130
  59. data/lib/axlsx/rels/relationships.rb +29 -32
  60. data/lib/axlsx/stylesheet/border.rb +70 -73
  61. data/lib/axlsx/stylesheet/border_pr.rb +69 -71
  62. data/lib/axlsx/stylesheet/cell_alignment.rb +124 -132
  63. data/lib/axlsx/stylesheet/cell_protection.rb +38 -41
  64. data/lib/axlsx/stylesheet/cell_style.rb +68 -72
  65. data/lib/axlsx/stylesheet/color.rb +77 -76
  66. data/lib/axlsx/stylesheet/dxf.rb +75 -79
  67. data/lib/axlsx/stylesheet/fill.rb +31 -35
  68. data/lib/axlsx/stylesheet/font.rb +157 -156
  69. data/lib/axlsx/stylesheet/gradient_fill.rb +101 -103
  70. data/lib/axlsx/stylesheet/gradient_stop.rb +36 -37
  71. data/lib/axlsx/stylesheet/num_fmt.rb +83 -86
  72. data/lib/axlsx/stylesheet/pattern_fill.rb +71 -73
  73. data/lib/axlsx/stylesheet/styles.rb +543 -494
  74. data/lib/axlsx/stylesheet/table_style.rb +51 -54
  75. data/lib/axlsx/stylesheet/table_style_element.rb +74 -77
  76. data/lib/axlsx/stylesheet/table_styles.rb +42 -46
  77. data/lib/axlsx/stylesheet/xf.rb +144 -147
  78. data/lib/axlsx/util/accessors.rb +62 -64
  79. data/lib/axlsx/util/constants.rb +414 -410
  80. data/lib/axlsx/util/mime_type_utils.rb +24 -11
  81. data/lib/axlsx/util/options_parser.rb +15 -16
  82. data/lib/axlsx/util/serialized_attributes.rb +88 -89
  83. data/lib/axlsx/util/simple_typed_list.rb +180 -179
  84. data/lib/axlsx/util/storage.rb +142 -146
  85. data/lib/axlsx/util/validators.rb +315 -312
  86. data/lib/axlsx/util/zip_command.rb +71 -73
  87. data/lib/axlsx/version.rb +4 -5
  88. data/lib/axlsx/workbook/defined_name.rb +129 -128
  89. data/lib/axlsx/workbook/defined_names.rb +20 -21
  90. data/lib/axlsx/workbook/shared_strings_table.rb +74 -77
  91. data/lib/axlsx/workbook/workbook.rb +430 -395
  92. data/lib/axlsx/workbook/workbook_view.rb +75 -80
  93. data/lib/axlsx/workbook/workbook_views.rb +20 -22
  94. data/lib/axlsx/workbook/worksheet/auto_filter/auto_filter.rb +78 -77
  95. data/lib/axlsx/workbook/worksheet/auto_filter/filter_column.rb +94 -94
  96. data/lib/axlsx/workbook/worksheet/auto_filter/filters.rb +243 -244
  97. data/lib/axlsx/workbook/worksheet/border_creator.rb +79 -0
  98. data/lib/axlsx/workbook/worksheet/break.rb +32 -35
  99. data/lib/axlsx/workbook/worksheet/cell.rb +552 -506
  100. data/lib/axlsx/workbook/worksheet/cell_serializer.rb +164 -164
  101. data/lib/axlsx/workbook/worksheet/cfvo.rb +60 -60
  102. data/lib/axlsx/workbook/worksheet/cfvos.rb +16 -18
  103. data/lib/axlsx/workbook/worksheet/col.rb +142 -145
  104. data/lib/axlsx/workbook/worksheet/col_breaks.rb +34 -35
  105. data/lib/axlsx/workbook/worksheet/color_scale.rb +108 -110
  106. data/lib/axlsx/workbook/worksheet/cols.rb +23 -23
  107. data/lib/axlsx/workbook/worksheet/comment.rb +90 -91
  108. data/lib/axlsx/workbook/worksheet/comments.rb +78 -82
  109. data/lib/axlsx/workbook/worksheet/conditional_formatting.rb +81 -82
  110. data/lib/axlsx/workbook/worksheet/conditional_formatting_rule.rb +216 -220
  111. data/lib/axlsx/workbook/worksheet/conditional_formattings.rb +23 -25
  112. data/lib/axlsx/workbook/worksheet/data_bar.rb +127 -129
  113. data/lib/axlsx/workbook/worksheet/data_validation.rb +266 -246
  114. data/lib/axlsx/workbook/worksheet/data_validations.rb +25 -28
  115. data/lib/axlsx/workbook/worksheet/date_time_converter.rb +28 -30
  116. data/lib/axlsx/workbook/worksheet/dimension.rb +65 -64
  117. data/lib/axlsx/workbook/worksheet/header_footer.rb +51 -52
  118. data/lib/axlsx/workbook/worksheet/icon_set.rb +80 -81
  119. data/lib/axlsx/workbook/worksheet/merged_cells.rb +37 -37
  120. data/lib/axlsx/workbook/worksheet/outline_pr.rb +32 -33
  121. data/lib/axlsx/workbook/worksheet/page_margins.rb +97 -97
  122. data/lib/axlsx/workbook/worksheet/page_set_up_pr.rb +42 -44
  123. data/lib/axlsx/workbook/worksheet/page_setup.rb +237 -240
  124. data/lib/axlsx/workbook/worksheet/pane.rb +138 -139
  125. data/lib/axlsx/workbook/worksheet/pivot_table.rb +332 -296
  126. data/lib/axlsx/workbook/worksheet/pivot_table_cache_definition.rb +63 -66
  127. data/lib/axlsx/workbook/worksheet/pivot_tables.rb +23 -24
  128. data/lib/axlsx/workbook/worksheet/print_options.rb +38 -39
  129. data/lib/axlsx/workbook/worksheet/protected_range.rb +46 -47
  130. data/lib/axlsx/workbook/worksheet/protected_ranges.rb +37 -37
  131. data/lib/axlsx/workbook/worksheet/rich_text.rb +53 -55
  132. data/lib/axlsx/workbook/worksheet/rich_text_run.rb +266 -250
  133. data/lib/axlsx/workbook/worksheet/row.rb +173 -164
  134. data/lib/axlsx/workbook/worksheet/row_breaks.rb +32 -33
  135. data/lib/axlsx/workbook/worksheet/selection.rb +99 -101
  136. data/lib/axlsx/workbook/worksheet/sheet_calc_pr.rb +28 -29
  137. data/lib/axlsx/workbook/worksheet/sheet_data.rb +25 -27
  138. data/lib/axlsx/workbook/worksheet/sheet_format_pr.rb +18 -18
  139. data/lib/axlsx/workbook/worksheet/sheet_pr.rb +87 -87
  140. data/lib/axlsx/workbook/worksheet/sheet_protection.rb +117 -118
  141. data/lib/axlsx/workbook/worksheet/sheet_view.rb +206 -213
  142. data/lib/axlsx/workbook/worksheet/table.rb +100 -102
  143. data/lib/axlsx/workbook/worksheet/table_style_info.rb +48 -49
  144. data/lib/axlsx/workbook/worksheet/tables.rb +34 -34
  145. data/lib/axlsx/workbook/worksheet/worksheet.rb +857 -786
  146. data/lib/axlsx/workbook/worksheet/worksheet_comments.rb +58 -58
  147. data/lib/axlsx/workbook/worksheet/worksheet_drawing.rb +59 -58
  148. data/lib/axlsx/workbook/worksheet/worksheet_hyperlink.rb +73 -74
  149. data/lib/axlsx/workbook/worksheet/worksheet_hyperlinks.rb +38 -38
  150. data/lib/axlsx.rb +218 -185
  151. data/lib/caxlsx.rb +1 -2
  152. data/lib/schema/dc.xsd +118 -118
  153. data/lib/schema/dcmitype.xsd +51 -51
  154. data/lib/schema/dcterms.xsd +331 -331
  155. data/lib/schema/dml-chartDrawing.xsd +146 -146
  156. data/lib/schema/dml-compatibility.xsd +14 -14
  157. data/lib/schema/dml-lockedCanvas.xsd +11 -11
  158. data/lib/schema/dml-main.xsd +3048 -3048
  159. data/lib/schema/dml-picture.xsd +23 -23
  160. data/lib/schema/dml-spreadsheetDrawing.xsd +185 -185
  161. data/lib/schema/dml-wordprocessingDrawing.xsd +185 -185
  162. data/lib/schema/shared-additionalCharacteristics.xsd +28 -28
  163. data/lib/schema/shared-bibliography.xsd +144 -144
  164. data/lib/schema/shared-commonSimpleTypes.xsd +166 -166
  165. data/lib/schema/shared-customXmlDataProperties.xsd +25 -25
  166. data/lib/schema/shared-customXmlSchemaProperties.xsd +18 -18
  167. data/lib/schema/shared-documentPropertiesCustom.xsd +59 -59
  168. data/lib/schema/shared-documentPropertiesExtended.xsd +56 -56
  169. data/lib/schema/shared-documentPropertiesVariantTypes.xsd +195 -195
  170. data/lib/schema/shared-relationshipReference.xsd +25 -25
  171. data/lib/schema/vml-main.xsd +569 -569
  172. data/lib/schema/vml-officeDrawing.xsd +509 -509
  173. data/lib/schema/vml-presentationDrawing.xsd +12 -12
  174. data/lib/schema/vml-spreadsheetDrawing.xsd +108 -108
  175. data/lib/schema/vml-wordprocessingDrawing.xsd +96 -96
  176. data/lib/schema/xml.xsd +116 -116
  177. metadata +5 -252
  178. data/test/benchmark.rb +0 -72
  179. data/test/content_type/tc_content_type.rb +0 -76
  180. data/test/content_type/tc_default.rb +0 -16
  181. data/test/content_type/tc_override.rb +0 -14
  182. data/test/doc_props/tc_app.rb +0 -43
  183. data/test/doc_props/tc_core.rb +0 -42
  184. data/test/drawing/tc_area_chart.rb +0 -39
  185. data/test/drawing/tc_area_series.rb +0 -71
  186. data/test/drawing/tc_axes.rb +0 -8
  187. data/test/drawing/tc_axis.rb +0 -112
  188. data/test/drawing/tc_bar_3D_chart.rb +0 -86
  189. data/test/drawing/tc_bar_chart.rb +0 -86
  190. data/test/drawing/tc_bar_series.rb +0 -46
  191. data/test/drawing/tc_bubble_chart.rb +0 -44
  192. data/test/drawing/tc_bubble_series.rb +0 -21
  193. data/test/drawing/tc_cat_axis.rb +0 -31
  194. data/test/drawing/tc_cat_axis_data.rb +0 -27
  195. data/test/drawing/tc_chart.rb +0 -123
  196. data/test/drawing/tc_d_lbls.rb +0 -57
  197. data/test/drawing/tc_data_source.rb +0 -23
  198. data/test/drawing/tc_drawing.rb +0 -80
  199. data/test/drawing/tc_graphic_frame.rb +0 -27
  200. data/test/drawing/tc_hyperlink.rb +0 -64
  201. data/test/drawing/tc_line_3d_chart.rb +0 -47
  202. data/test/drawing/tc_line_chart.rb +0 -39
  203. data/test/drawing/tc_line_series.rb +0 -71
  204. data/test/drawing/tc_marker.rb +0 -44
  205. data/test/drawing/tc_named_axis_data.rb +0 -27
  206. data/test/drawing/tc_num_data.rb +0 -31
  207. data/test/drawing/tc_num_val.rb +0 -29
  208. data/test/drawing/tc_one_cell_anchor.rb +0 -66
  209. data/test/drawing/tc_pic.rb +0 -103
  210. data/test/drawing/tc_picture_locking.rb +0 -72
  211. data/test/drawing/tc_pie_3D_chart.rb +0 -28
  212. data/test/drawing/tc_pie_series.rb +0 -33
  213. data/test/drawing/tc_scaling.rb +0 -36
  214. data/test/drawing/tc_scatter_chart.rb +0 -48
  215. data/test/drawing/tc_scatter_series.rb +0 -74
  216. data/test/drawing/tc_ser_axis.rb +0 -31
  217. data/test/drawing/tc_series.rb +0 -23
  218. data/test/drawing/tc_series_title.rb +0 -54
  219. data/test/drawing/tc_str_data.rb +0 -18
  220. data/test/drawing/tc_str_val.rb +0 -30
  221. data/test/drawing/tc_title.rb +0 -70
  222. data/test/drawing/tc_two_cell_anchor.rb +0 -36
  223. data/test/drawing/tc_val_axis.rb +0 -24
  224. data/test/drawing/tc_view_3D.rb +0 -54
  225. data/test/drawing/tc_vml_drawing.rb +0 -25
  226. data/test/drawing/tc_vml_shape.rb +0 -106
  227. data/test/fixtures/image1.gif +0 -0
  228. data/test/fixtures/image1.jpeg +0 -0
  229. data/test/fixtures/image1.jpg +0 -0
  230. data/test/fixtures/image1.png +0 -0
  231. data/test/fixtures/image1_fake.jpg +0 -0
  232. data/test/profile.rb +0 -24
  233. data/test/rels/tc_relationship.rb +0 -52
  234. data/test/rels/tc_relationships.rb +0 -37
  235. data/test/stylesheet/tc_border.rb +0 -37
  236. data/test/stylesheet/tc_border_pr.rb +0 -32
  237. data/test/stylesheet/tc_cell_alignment.rb +0 -81
  238. data/test/stylesheet/tc_cell_protection.rb +0 -29
  239. data/test/stylesheet/tc_cell_style.rb +0 -57
  240. data/test/stylesheet/tc_color.rb +0 -43
  241. data/test/stylesheet/tc_dxf.rb +0 -81
  242. data/test/stylesheet/tc_fill.rb +0 -18
  243. data/test/stylesheet/tc_font.rb +0 -133
  244. data/test/stylesheet/tc_gradient_fill.rb +0 -72
  245. data/test/stylesheet/tc_gradient_stop.rb +0 -31
  246. data/test/stylesheet/tc_num_fmt.rb +0 -30
  247. data/test/stylesheet/tc_pattern_fill.rb +0 -43
  248. data/test/stylesheet/tc_styles.rb +0 -309
  249. data/test/stylesheet/tc_table_style.rb +0 -44
  250. data/test/stylesheet/tc_table_style_element.rb +0 -45
  251. data/test/stylesheet/tc_table_styles.rb +0 -29
  252. data/test/stylesheet/tc_xf.rb +0 -120
  253. data/test/tc_axlsx.rb +0 -109
  254. data/test/tc_helper.rb +0 -10
  255. data/test/tc_package.rb +0 -317
  256. data/test/util/tc_mime_type_utils.rb +0 -13
  257. data/test/util/tc_serialized_attributes.rb +0 -19
  258. data/test/util/tc_simple_typed_list.rb +0 -77
  259. data/test/util/tc_validators.rb +0 -210
  260. data/test/workbook/tc_defined_name.rb +0 -49
  261. data/test/workbook/tc_shared_strings_table.rb +0 -59
  262. data/test/workbook/tc_workbook.rb +0 -165
  263. data/test/workbook/tc_workbook_view.rb +0 -50
  264. data/test/workbook/worksheet/auto_filter/tc_auto_filter.rb +0 -38
  265. data/test/workbook/worksheet/auto_filter/tc_filter_column.rb +0 -76
  266. data/test/workbook/worksheet/auto_filter/tc_filters.rb +0 -50
  267. data/test/workbook/worksheet/tc_break.rb +0 -49
  268. data/test/workbook/worksheet/tc_cell.rb +0 -465
  269. data/test/workbook/worksheet/tc_cfvo.rb +0 -31
  270. data/test/workbook/worksheet/tc_col.rb +0 -93
  271. data/test/workbook/worksheet/tc_color_scale.rb +0 -58
  272. data/test/workbook/worksheet/tc_comment.rb +0 -72
  273. data/test/workbook/worksheet/tc_comments.rb +0 -57
  274. data/test/workbook/worksheet/tc_conditional_formatting.rb +0 -224
  275. data/test/workbook/worksheet/tc_data_bar.rb +0 -46
  276. data/test/workbook/worksheet/tc_data_validation.rb +0 -265
  277. data/test/workbook/worksheet/tc_date_time_converter.rb +0 -124
  278. data/test/workbook/worksheet/tc_header_footer.rb +0 -151
  279. data/test/workbook/worksheet/tc_icon_set.rb +0 -45
  280. data/test/workbook/worksheet/tc_outline_pr.rb +0 -19
  281. data/test/workbook/worksheet/tc_page_margins.rb +0 -97
  282. data/test/workbook/worksheet/tc_page_set_up_pr.rb +0 -15
  283. data/test/workbook/worksheet/tc_page_setup.rb +0 -143
  284. data/test/workbook/worksheet/tc_pane.rb +0 -54
  285. data/test/workbook/worksheet/tc_pivot_table.rb +0 -180
  286. data/test/workbook/worksheet/tc_pivot_table_cache_definition.rb +0 -62
  287. data/test/workbook/worksheet/tc_print_options.rb +0 -72
  288. data/test/workbook/worksheet/tc_protected_range.rb +0 -17
  289. data/test/workbook/worksheet/tc_rich_text.rb +0 -44
  290. data/test/workbook/worksheet/tc_rich_text_run.rb +0 -173
  291. data/test/workbook/worksheet/tc_row.rb +0 -160
  292. data/test/workbook/worksheet/tc_selection.rb +0 -55
  293. data/test/workbook/worksheet/tc_sheet_calc_pr.rb +0 -18
  294. data/test/workbook/worksheet/tc_sheet_format_pr.rb +0 -88
  295. data/test/workbook/worksheet/tc_sheet_pr.rb +0 -49
  296. data/test/workbook/worksheet/tc_sheet_protection.rb +0 -117
  297. data/test/workbook/worksheet/tc_sheet_view.rb +0 -214
  298. data/test/workbook/worksheet/tc_table.rb +0 -77
  299. data/test/workbook/worksheet/tc_table_style_info.rb +0 -53
  300. data/test/workbook/worksheet/tc_worksheet.rb +0 -632
  301. data/test/workbook/worksheet/tc_worksheet_hyperlink.rb +0 -55
@@ -1,25 +1,21 @@
1
- # encoding: UTF-8
2
- module Axlsx
3
-
4
- # An default content part. These parts are automatically created by for you based on the content of your package.
5
- class Default < AbstractContentType
6
-
7
- # The serialization node name for this class
8
- NODE_NAME = 'Default'
9
-
10
- # The extension of the content type.
11
- # @return [String]
12
- attr_reader :extension
13
- alias :Extension :extension
14
-
15
- # Sets the file extension for this content type.
16
- def extension=(v) Axlsx::validate_string v; @extension = v end
17
- alias :Extension= :extension=
18
-
19
- # Serializes this object to xml
20
- def to_xml_string(str ='')
21
- super(NODE_NAME, str)
22
- end
23
- end
24
-
25
- end
1
+ module Axlsx
2
+ # An default content part. These parts are automatically created by for you based on the content of your package.
3
+ class Default < AbstractContentType
4
+ # The serialization node name for this class
5
+ NODE_NAME = 'Default'
6
+
7
+ # The extension of the content type.
8
+ # @return [String]
9
+ attr_reader :extension
10
+ alias :Extension :extension
11
+
12
+ # Sets the file extension for this content type.
13
+ def extension=(v) Axlsx::validate_string v; @extension = v end
14
+ alias :Extension= :extension=
15
+
16
+ # Serializes this object to xml
17
+ def to_xml_string(str = '')
18
+ super(NODE_NAME, str)
19
+ end
20
+ end
21
+ end
@@ -1,25 +1,21 @@
1
-
2
- # encoding: UTF-8
3
- module Axlsx
4
-
5
- # An override content part. These parts are automatically created by for you based on the content of your package.
6
- class Override < AbstractContentType
7
-
8
- # Serialization node name for this object
9
- NODE_NAME = 'Override'
10
-
11
- # The name and location of the part.
12
- # @return [String]
13
- attr_reader :part_name
14
- alias :PartName :part_name
15
-
16
- # The name and location of the part.
17
- def part_name=(v) Axlsx::validate_string v; @part_name = v end
18
- alias :PartName= :part_name=
19
-
20
- # Serializes this object to xml
21
- def to_xml_string(str = '')
22
- super(NODE_NAME, str)
23
- end
24
- end
25
- end
1
+ module Axlsx
2
+ # An override content part. These parts are automatically created by for you based on the content of your package.
3
+ class Override < AbstractContentType
4
+ # Serialization node name for this object
5
+ NODE_NAME = 'Override'
6
+
7
+ # The name and location of the part.
8
+ # @return [String]
9
+ attr_reader :part_name
10
+ alias :PartName :part_name
11
+
12
+ # The name and location of the part.
13
+ def part_name=(v) Axlsx::validate_string v; @part_name = v end
14
+ alias :PartName= :part_name=
15
+
16
+ # Serializes this object to xml
17
+ def to_xml_string(str = '')
18
+ super(NODE_NAME, str)
19
+ end
20
+ end
21
+ end
@@ -1,235 +1,230 @@
1
- # encoding: UTF-8
2
- module Axlsx
3
-
4
- # App represents the app.xml document. The attributes for this object are primarily managed by the application the end user uses to edit the document. None of the attributes are required to serialize a valid xlsx object.
5
- # @see shared-documentPropertiesExtended.xsd
6
- # @note Support is not implemented for the following complex types:
7
- #
8
- # HeadingPairs (VectorVariant),
9
- # TitlesOfParts (VectorLpstr),
10
- # HLinks (VectorVariant),
11
- # DigSig (DigSigBlob)
12
- class App
13
-
14
- include Axlsx::OptionsParser
15
-
16
- # Creates an App object
17
- # @option options [String] template
18
- # @option options [String] manager
19
- # @option options [Integer] pages
20
- # @option options [Integer] words
21
- # @option options [Integer] characters
22
- # @option options [String] presentation_format
23
- # @option options [Integer] lines
24
- # @option options [Integer] paragraphs
25
- # @option options [Integer] slides
26
- # @option options [Integer] notes
27
- # @option options [Integer] total_time
28
- # @option options [Integer] hidden_slides
29
- # @option options [Integer] m_m_clips
30
- # @option options [Boolean] scale_crop
31
- # @option options [Boolean] links_up_to_date
32
- # @option options [Integer] characters_with_spaces
33
- # @option options [Boolean] share_doc
34
- # @option options [String] hyperlink_base
35
- # @option options [String] hyperlinks_changed
36
- # @option options [String] application
37
- # @option options [String] app_version
38
- # @option options [Integer] doc_security
39
- def initialize(options={})
40
- parse_options options
41
- end
42
-
43
- # @return [String] The name of the document template.
44
- attr_reader :template
45
- alias :Template :template
46
-
47
- # @return [String] The name of the manager for the document.
48
- attr_reader :manager
49
- alias :Manager :manager
50
-
51
- # @return [String] The name of the company generating the document.
52
- attr_reader :company
53
- alias :Company :company
54
-
55
- # @return [Integer] The number of pages in the document.
56
- attr_reader :pages
57
- alias :Pages :pages
58
-
59
- # @return [Integer] The number of words in the document.
60
- attr_reader :words
61
- alias :Words :words
62
-
63
- # @return [Integer] The number of characters in the document.
64
- attr_reader :characters
65
- alias :Characters :characters
66
-
67
- # @return [String] The intended format of the presentation.
68
- attr_reader :presentation_format
69
- alias :PresentationFormat :presentation_format
70
-
71
- # @return [Integer] The number of lines in the document.
72
- attr_reader :lines
73
- alias :Lines :lines
74
-
75
- # @return [Integer] The number of paragraphs in the document
76
- attr_reader :paragraphs
77
- alias :Paragraphs :paragraphs
78
-
79
- # @return [Intger] The number of slides in the document.
80
- attr_reader :slides
81
- alias :Slides :slides
82
-
83
- # @return [Integer] The number of slides that have notes.
84
- attr_reader :notes
85
- alias :Notes :notes
86
-
87
- # @return [Integer] The total amount of time spent editing.
88
- attr_reader :total_time
89
- alias :TotalTime :total_time
90
-
91
- # @return [Integer] The number of hidden slides.
92
- attr_reader :hidden_slides
93
- alias :HiddenSlides :hidden_slides
94
-
95
- # @return [Integer] The total number multimedia clips
96
- attr_reader :m_m_clips
97
- alias :MMClips :m_m_clips
98
-
99
- # @return [Boolean] The display mode for the document thumbnail.
100
- attr_reader :scale_crop
101
- alias :ScaleCrop :scale_crop
102
-
103
- # @return [Boolean] The links in the document are up to date.
104
- attr_reader :links_up_to_date
105
- alias :LinksUpToDate :links_up_to_date
106
-
107
- # @return [Integer] The number of characters in the document including spaces.
108
- attr_reader :characters_with_spaces
109
- alias :CharactersWithSpaces :characters_with_spaces
110
-
111
- # @return [Boolean] Indicates if the document is shared.
112
- attr_reader :shared_doc
113
- alias :SharedDoc :shared_doc
114
-
115
- # @return [String] The base for hyper links in the document.
116
- attr_reader :hyperlink_base
117
- alias :HyperlinkBase :hyperlink_base
118
-
119
- # @return [Boolean] Indicates that the hyper links in the document have been changed.
120
- attr_reader :hyperlinks_changed
121
- alias :HyperlinksChanged :hyperlinks_changed
122
-
123
- # @return [String] The name of the application
124
- attr_reader :application
125
- alias :Applicatoin :application
126
-
127
- # @return [String] The version of the application.
128
- attr_reader :app_version
129
- alias :AppVersion :app_version
130
-
131
- # @return [Integer] Document security
132
- attr_reader :doc_security
133
- alias :DocSecurity :doc_security
134
-
135
- # Sets the template property of your app.xml file
136
- def template=(v) Axlsx::validate_string v; @template = v; end
137
- alias :Template= :template=
138
-
139
- # Sets the manager property of your app.xml file
140
- def manager=(v) Axlsx::validate_string v; @manager = v; end
141
- alias :Manager= :manager=
142
-
143
- # Sets the company property of your app.xml file
144
- def company=(v) Axlsx::validate_string v; @company = v; end
145
- alias :Company= :company=
146
- # Sets the pages property of your app.xml file
147
- def pages=(v) Axlsx::validate_int v; @pages = v; end
148
-
149
- # Sets the words property of your app.xml file
150
- def words=(v) Axlsx::validate_int v; @words = v; end
151
- alias :Words= :words=
152
-
153
- # Sets the characters property of your app.xml file
154
- def characters=(v) Axlsx::validate_int v; @characters = v; end
155
- alias :Characters= :characters=
156
-
157
- # Sets the presentation_format property of your app.xml file
158
- def presentation_format=(v) Axlsx::validate_string v; @presentation_format = v; end
159
- alias :PresentationFormat= :presentation_format=
160
-
161
- # Sets the lines property of your app.xml file
162
- def lines=(v) Axlsx::validate_int v; @lines = v; end
163
- alias :Lines= :lines=
164
-
165
- # Sets the paragraphs property of your app.xml file
166
- def paragraphs=(v) Axlsx::validate_int v; @paragraphs = v; end
167
- alias :Paragraphs= :paragraphs=
168
-
169
- # sets the slides property of your app.xml file
170
- def slides=(v) Axlsx::validate_int v; @slides = v; end
171
- alias :Slides= :slides=
172
-
173
- # sets the notes property of your app.xml file
174
- def notes=(v) Axlsx::validate_int v; @notes = v; end
175
- alias :Notes= :notes=
176
-
177
- # Sets the total_time property of your app.xml file
178
- def total_time=(v) Axlsx::validate_int v; @total_time = v; end
179
- alias :TotalTime= :total_time=
180
-
181
- # Sets the hidden_slides property of your app.xml file
182
- def hidden_slides=(v) Axlsx::validate_int v; @hidden_slides = v; end
183
- alias :HiddenSlides= :hidden_slides=
184
-
185
- # Sets the m_m_clips property of your app.xml file
186
- def m_m_clips=(v) Axlsx::validate_int v; @m_m_clips = v; end
187
- alias :MMClips= :m_m_clips=
188
-
189
- # Sets the scale_crop property of your app.xml file
190
- def scale_crop=(v) Axlsx::validate_boolean v; @scale_crop = v; end
191
- alias :ScaleCrop= :scale_crop=
192
-
193
- # Sets the links_up_to_date property of your app.xml file
194
- def links_up_to_date=(v) Axlsx::validate_boolean v; @links_up_to_date = v; end
195
- alias :LinksUpToDate= :links_up_to_date=
196
-
197
- # Sets the characters_with_spaces property of your app.xml file
198
- def characters_with_spaces=(v) Axlsx::validate_int v; @characters_with_spaces = v; end
199
- alias :CharactersWithSpaces= :characters_with_spaces=
200
-
201
- # Sets the share_doc property of your app.xml file
202
- def shared_doc=(v) Axlsx::validate_boolean v; @shared_doc = v; end
203
- alias :SharedDoc= :shared_doc=
204
-
205
- # Sets the hyperlink_base property of your app.xml file
206
- def hyperlink_base=(v) Axlsx::validate_string v; @hyperlink_base = v; end
207
- alias :HyperlinkBase= :hyperlink_base=
208
-
209
- # Sets the HyperLinksChanged property of your app.xml file
210
- def hyperlinks_changed=(v) Axlsx::validate_boolean v; @hyperlinks_changed = v; end
211
- alias :HyperLinksChanged= :hyperlinks_changed=
212
-
213
- # Sets the app_version property of your app.xml file
214
- def app_version=(v) Axlsx::validate_string v; @app_version = v; end
215
- alias :AppVersion= :app_version=
216
-
217
- # Sets the doc_security property of your app.xml file
218
- def doc_security=(v) Axlsx::validate_int v; @doc_security = v; end
219
- alias :DocSecurity= :doc_security=
220
-
221
- # Serialize the app.xml document
222
- # @return [String]
223
- def to_xml_string(str = '')
224
- str << '<?xml version="1.0" encoding="UTF-8"?>'
225
- str << ('<Properties xmlns="' << APP_NS << '" xmlns:vt="' << APP_NS_VT << '">')
226
- instance_values.each do |key, value|
227
- node_name = Axlsx.camel(key)
228
- str << "<#{node_name}>#{value}</#{node_name}>"
229
- end
230
- str << '</Properties>'
231
- end
232
-
233
- end
234
-
235
- end
1
+ module Axlsx
2
+ # App represents the app.xml document. The attributes for this object are primarily managed by the application the end user uses to edit the document. None of the attributes are required to serialize a valid xlsx object.
3
+ # @see shared-documentPropertiesExtended.xsd
4
+ # @note Support is not implemented for the following complex types:
5
+ #
6
+ # HeadingPairs (VectorVariant),
7
+ # TitlesOfParts (VectorLpstr),
8
+ # HLinks (VectorVariant),
9
+ # DigSig (DigSigBlob)
10
+ class App
11
+ include Axlsx::OptionsParser
12
+
13
+ # Creates an App object
14
+ # @option options [String] template
15
+ # @option options [String] manager
16
+ # @option options [Integer] pages
17
+ # @option options [Integer] words
18
+ # @option options [Integer] characters
19
+ # @option options [String] presentation_format
20
+ # @option options [Integer] lines
21
+ # @option options [Integer] paragraphs
22
+ # @option options [Integer] slides
23
+ # @option options [Integer] notes
24
+ # @option options [Integer] total_time
25
+ # @option options [Integer] hidden_slides
26
+ # @option options [Integer] m_m_clips
27
+ # @option options [Boolean] scale_crop
28
+ # @option options [Boolean] links_up_to_date
29
+ # @option options [Integer] characters_with_spaces
30
+ # @option options [Boolean] share_doc
31
+ # @option options [String] hyperlink_base
32
+ # @option options [String] hyperlinks_changed
33
+ # @option options [String] application
34
+ # @option options [String] app_version
35
+ # @option options [Integer] doc_security
36
+ def initialize(options = {})
37
+ parse_options options
38
+ end
39
+
40
+ # @return [String] The name of the document template.
41
+ attr_reader :template
42
+ alias :Template :template
43
+
44
+ # @return [String] The name of the manager for the document.
45
+ attr_reader :manager
46
+ alias :Manager :manager
47
+
48
+ # @return [String] The name of the company generating the document.
49
+ attr_reader :company
50
+ alias :Company :company
51
+
52
+ # @return [Integer] The number of pages in the document.
53
+ attr_reader :pages
54
+ alias :Pages :pages
55
+
56
+ # @return [Integer] The number of words in the document.
57
+ attr_reader :words
58
+ alias :Words :words
59
+
60
+ # @return [Integer] The number of characters in the document.
61
+ attr_reader :characters
62
+ alias :Characters :characters
63
+
64
+ # @return [String] The intended format of the presentation.
65
+ attr_reader :presentation_format
66
+ alias :PresentationFormat :presentation_format
67
+
68
+ # @return [Integer] The number of lines in the document.
69
+ attr_reader :lines
70
+ alias :Lines :lines
71
+
72
+ # @return [Integer] The number of paragraphs in the document
73
+ attr_reader :paragraphs
74
+ alias :Paragraphs :paragraphs
75
+
76
+ # @return [Intger] The number of slides in the document.
77
+ attr_reader :slides
78
+ alias :Slides :slides
79
+
80
+ # @return [Integer] The number of slides that have notes.
81
+ attr_reader :notes
82
+ alias :Notes :notes
83
+
84
+ # @return [Integer] The total amount of time spent editing.
85
+ attr_reader :total_time
86
+ alias :TotalTime :total_time
87
+
88
+ # @return [Integer] The number of hidden slides.
89
+ attr_reader :hidden_slides
90
+ alias :HiddenSlides :hidden_slides
91
+
92
+ # @return [Integer] The total number multimedia clips
93
+ attr_reader :m_m_clips
94
+ alias :MMClips :m_m_clips
95
+
96
+ # @return [Boolean] The display mode for the document thumbnail.
97
+ attr_reader :scale_crop
98
+ alias :ScaleCrop :scale_crop
99
+
100
+ # @return [Boolean] The links in the document are up to date.
101
+ attr_reader :links_up_to_date
102
+ alias :LinksUpToDate :links_up_to_date
103
+
104
+ # @return [Integer] The number of characters in the document including spaces.
105
+ attr_reader :characters_with_spaces
106
+ alias :CharactersWithSpaces :characters_with_spaces
107
+
108
+ # @return [Boolean] Indicates if the document is shared.
109
+ attr_reader :shared_doc
110
+ alias :SharedDoc :shared_doc
111
+
112
+ # @return [String] The base for hyper links in the document.
113
+ attr_reader :hyperlink_base
114
+ alias :HyperlinkBase :hyperlink_base
115
+
116
+ # @return [Boolean] Indicates that the hyper links in the document have been changed.
117
+ attr_reader :hyperlinks_changed
118
+ alias :HyperlinksChanged :hyperlinks_changed
119
+
120
+ # @return [String] The name of the application
121
+ attr_reader :application
122
+ alias :Applicatoin :application
123
+
124
+ # @return [String] The version of the application.
125
+ attr_reader :app_version
126
+ alias :AppVersion :app_version
127
+
128
+ # @return [Integer] Document security
129
+ attr_reader :doc_security
130
+ alias :DocSecurity :doc_security
131
+
132
+ # Sets the template property of your app.xml file
133
+ def template=(v) Axlsx::validate_string v; @template = v; end
134
+ alias :Template= :template=
135
+
136
+ # Sets the manager property of your app.xml file
137
+ def manager=(v) Axlsx::validate_string v; @manager = v; end
138
+ alias :Manager= :manager=
139
+
140
+ # Sets the company property of your app.xml file
141
+ def company=(v) Axlsx::validate_string v; @company = v; end
142
+ alias :Company= :company=
143
+ # Sets the pages property of your app.xml file
144
+ def pages=(v) Axlsx::validate_int v; @pages = v; end
145
+
146
+ # Sets the words property of your app.xml file
147
+ def words=(v) Axlsx::validate_int v; @words = v; end
148
+ alias :Words= :words=
149
+
150
+ # Sets the characters property of your app.xml file
151
+ def characters=(v) Axlsx::validate_int v; @characters = v; end
152
+ alias :Characters= :characters=
153
+
154
+ # Sets the presentation_format property of your app.xml file
155
+ def presentation_format=(v) Axlsx::validate_string v; @presentation_format = v; end
156
+ alias :PresentationFormat= :presentation_format=
157
+
158
+ # Sets the lines property of your app.xml file
159
+ def lines=(v) Axlsx::validate_int v; @lines = v; end
160
+ alias :Lines= :lines=
161
+
162
+ # Sets the paragraphs property of your app.xml file
163
+ def paragraphs=(v) Axlsx::validate_int v; @paragraphs = v; end
164
+ alias :Paragraphs= :paragraphs=
165
+
166
+ # sets the slides property of your app.xml file
167
+ def slides=(v) Axlsx::validate_int v; @slides = v; end
168
+ alias :Slides= :slides=
169
+
170
+ # sets the notes property of your app.xml file
171
+ def notes=(v) Axlsx::validate_int v; @notes = v; end
172
+ alias :Notes= :notes=
173
+
174
+ # Sets the total_time property of your app.xml file
175
+ def total_time=(v) Axlsx::validate_int v; @total_time = v; end
176
+ alias :TotalTime= :total_time=
177
+
178
+ # Sets the hidden_slides property of your app.xml file
179
+ def hidden_slides=(v) Axlsx::validate_int v; @hidden_slides = v; end
180
+ alias :HiddenSlides= :hidden_slides=
181
+
182
+ # Sets the m_m_clips property of your app.xml file
183
+ def m_m_clips=(v) Axlsx::validate_int v; @m_m_clips = v; end
184
+ alias :MMClips= :m_m_clips=
185
+
186
+ # Sets the scale_crop property of your app.xml file
187
+ def scale_crop=(v) Axlsx::validate_boolean v; @scale_crop = v; end
188
+ alias :ScaleCrop= :scale_crop=
189
+
190
+ # Sets the links_up_to_date property of your app.xml file
191
+ def links_up_to_date=(v) Axlsx::validate_boolean v; @links_up_to_date = v; end
192
+ alias :LinksUpToDate= :links_up_to_date=
193
+
194
+ # Sets the characters_with_spaces property of your app.xml file
195
+ def characters_with_spaces=(v) Axlsx::validate_int v; @characters_with_spaces = v; end
196
+ alias :CharactersWithSpaces= :characters_with_spaces=
197
+
198
+ # Sets the share_doc property of your app.xml file
199
+ def shared_doc=(v) Axlsx::validate_boolean v; @shared_doc = v; end
200
+ alias :SharedDoc= :shared_doc=
201
+
202
+ # Sets the hyperlink_base property of your app.xml file
203
+ def hyperlink_base=(v) Axlsx::validate_string v; @hyperlink_base = v; end
204
+ alias :HyperlinkBase= :hyperlink_base=
205
+
206
+ # Sets the HyperLinksChanged property of your app.xml file
207
+ def hyperlinks_changed=(v) Axlsx::validate_boolean v; @hyperlinks_changed = v; end
208
+ alias :HyperLinksChanged= :hyperlinks_changed=
209
+
210
+ # Sets the app_version property of your app.xml file
211
+ def app_version=(v) Axlsx::validate_string v; @app_version = v; end
212
+ alias :AppVersion= :app_version=
213
+
214
+ # Sets the doc_security property of your app.xml file
215
+ def doc_security=(v) Axlsx::validate_int v; @doc_security = v; end
216
+ alias :DocSecurity= :doc_security=
217
+
218
+ # Serialize the app.xml document
219
+ # @return [String]
220
+ def to_xml_string(str = '')
221
+ str << '<?xml version="1.0" encoding="UTF-8"?>'
222
+ str << ('<Properties xmlns="' << APP_NS << '" xmlns:vt="' << APP_NS_VT << '">')
223
+ Axlsx.instance_values_for(self).each do |key, value|
224
+ node_name = Axlsx.camel(key)
225
+ str << "<#{node_name}>#{value}</#{node_name}>"
226
+ end
227
+ str << '</Properties>'
228
+ end
229
+ end
230
+ end
@@ -1,39 +1,34 @@
1
- # encoding: UTF-8
2
- module Axlsx
3
-
4
- # The core object for the package.
5
- # @note Packages manage their own core object.
6
- # @see Package#core
7
- class Core
8
-
9
- # Creates a new Core object.
10
- # @option options [String] creator
11
- # @option options [Time] created
12
- def initialize(options={})
13
- @creator = options[:creator] || 'axlsx'
14
- @created = options[:created]
15
- end
16
-
17
- # The author of the document. By default this is 'axlsx'
18
- # @return [String]
19
- attr_accessor :creator
20
-
21
- # Creation time of the document. If nil, the current time will be used.
22
- attr_accessor :created
23
-
24
- # serializes the core.xml document
25
- # @return [String]
26
- def to_xml_string(str = '')
27
- str << '<?xml version="1.0" encoding="UTF-8"?>'
28
- str << ('<cp:coreProperties xmlns:cp="' << CORE_NS << '" xmlns:dc="' << CORE_NS_DC << '" ')
29
- str << ('xmlns:dcmitype="' << CORE_NS_DCMIT << '" xmlns:dcterms="' << CORE_NS_DCT << '" ')
30
- str << ('xmlns:xsi="' << CORE_NS_XSI << '">')
31
- str << ('<dc:creator>' << self.creator << '</dc:creator>')
32
- str << ('<dcterms:created xsi:type="dcterms:W3CDTF">' << (created || Time.now).strftime('%Y-%m-%dT%H:%M:%S') << 'Z</dcterms:created>')
33
- str << '<cp:revision>0</cp:revision>'
34
- str << '</cp:coreProperties>'
35
- end
36
-
37
- end
38
-
39
- end
1
+ module Axlsx
2
+ # The core object for the package.
3
+ # @note Packages manage their own core object.
4
+ # @see Package#core
5
+ class Core
6
+ # Creates a new Core object.
7
+ # @option options [String] creator
8
+ # @option options [Time] created
9
+ def initialize(options = {})
10
+ @creator = options[:creator] || 'axlsx'
11
+ @created = options[:created]
12
+ end
13
+
14
+ # The author of the document. By default this is 'axlsx'
15
+ # @return [String]
16
+ attr_accessor :creator
17
+
18
+ # Creation time of the document. If nil, the current time will be used.
19
+ attr_accessor :created
20
+
21
+ # serializes the core.xml document
22
+ # @return [String]
23
+ def to_xml_string(str = '')
24
+ str << '<?xml version="1.0" encoding="UTF-8"?>'
25
+ str << ('<cp:coreProperties xmlns:cp="' << CORE_NS << '" xmlns:dc="' << CORE_NS_DC << '" ')
26
+ str << ('xmlns:dcmitype="' << CORE_NS_DCMIT << '" xmlns:dcterms="' << CORE_NS_DCT << '" ')
27
+ str << ('xmlns:xsi="' << CORE_NS_XSI << '">')
28
+ str << ('<dc:creator>' << self.creator << '</dc:creator>')
29
+ str << ('<dcterms:created xsi:type="dcterms:W3CDTF">' << (created || Time.now).strftime('%Y-%m-%dT%H:%M:%S') << 'Z</dcterms:created>')
30
+ str << '<cp:revision>0</cp:revision>'
31
+ str << '</cp:coreProperties>'
32
+ end
33
+ end
34
+ end