caxlsx 3.2.0 → 3.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.yardopts +9 -9
- data/.yardopts_guide +18 -18
- data/CHANGELOG.md +385 -354
- data/LICENSE +21 -21
- data/README.md +165 -168
- data/Rakefile +29 -29
- data/examples/generate.rb +15 -15
- data/lib/axlsx/content_type/abstract_content_type.rb +32 -32
- data/lib/axlsx/content_type/content_type.rb +26 -26
- data/lib/axlsx/content_type/default.rb +25 -25
- data/lib/axlsx/content_type/override.rb +25 -25
- data/lib/axlsx/doc_props/app.rb +235 -235
- data/lib/axlsx/doc_props/core.rb +39 -39
- data/lib/axlsx/drawing/area_chart.rb +99 -99
- data/lib/axlsx/drawing/area_series.rb +110 -110
- data/lib/axlsx/drawing/ax_data_source.rb +26 -26
- data/lib/axlsx/drawing/axes.rb +61 -61
- data/lib/axlsx/drawing/axis.rb +190 -190
- data/lib/axlsx/drawing/bar_3D_chart.rb +148 -148
- data/lib/axlsx/drawing/bar_chart.rb +138 -138
- data/lib/axlsx/drawing/bar_series.rb +97 -97
- data/lib/axlsx/drawing/bubble_chart.rb +59 -59
- data/lib/axlsx/drawing/bubble_series.rb +63 -63
- data/lib/axlsx/drawing/cat_axis.rb +85 -85
- data/lib/axlsx/drawing/chart.rb +299 -276
- data/lib/axlsx/drawing/d_lbls.rb +91 -90
- data/lib/axlsx/drawing/drawing.rb +167 -167
- data/lib/axlsx/drawing/graphic_frame.rb +54 -54
- data/lib/axlsx/drawing/hyperlink.rb +100 -100
- data/lib/axlsx/drawing/line_3D_chart.rb +68 -68
- data/lib/axlsx/drawing/line_chart.rb +99 -99
- data/lib/axlsx/drawing/line_series.rb +110 -110
- data/lib/axlsx/drawing/marker.rb +84 -84
- data/lib/axlsx/drawing/num_data.rb +52 -52
- data/lib/axlsx/drawing/num_data_source.rb +62 -62
- data/lib/axlsx/drawing/num_val.rb +34 -34
- data/lib/axlsx/drawing/one_cell_anchor.rb +99 -99
- data/lib/axlsx/drawing/pic.rb +211 -211
- data/lib/axlsx/drawing/picture_locking.rb +42 -42
- data/lib/axlsx/drawing/pie_3D_chart.rb +47 -47
- data/lib/axlsx/drawing/pie_series.rb +74 -74
- data/lib/axlsx/drawing/scaling.rb +60 -60
- data/lib/axlsx/drawing/scatter_chart.rb +74 -74
- data/lib/axlsx/drawing/scatter_series.rb +129 -129
- data/lib/axlsx/drawing/ser_axis.rb +45 -45
- data/lib/axlsx/drawing/series.rb +69 -69
- data/lib/axlsx/drawing/series_title.rb +25 -25
- data/lib/axlsx/drawing/str_data.rb +42 -42
- data/lib/axlsx/drawing/str_val.rb +34 -34
- data/lib/axlsx/drawing/title.rb +107 -97
- data/lib/axlsx/drawing/two_cell_anchor.rb +97 -97
- data/lib/axlsx/drawing/val_axis.rb +37 -37
- data/lib/axlsx/drawing/view_3D.rb +115 -115
- data/lib/axlsx/drawing/vml_drawing.rb +42 -42
- data/lib/axlsx/drawing/vml_shape.rb +66 -66
- data/lib/axlsx/package.rb +398 -388
- data/lib/axlsx/rels/relationship.rb +130 -130
- data/lib/axlsx/rels/relationships.rb +32 -32
- data/lib/axlsx/stylesheet/border.rb +73 -73
- data/lib/axlsx/stylesheet/border_pr.rb +71 -71
- data/lib/axlsx/stylesheet/cell_alignment.rb +132 -132
- data/lib/axlsx/stylesheet/cell_protection.rb +41 -41
- data/lib/axlsx/stylesheet/cell_style.rb +72 -72
- data/lib/axlsx/stylesheet/color.rb +76 -76
- data/lib/axlsx/stylesheet/dxf.rb +79 -79
- data/lib/axlsx/stylesheet/fill.rb +35 -35
- data/lib/axlsx/stylesheet/font.rb +156 -156
- data/lib/axlsx/stylesheet/gradient_fill.rb +103 -103
- data/lib/axlsx/stylesheet/gradient_stop.rb +37 -37
- data/lib/axlsx/stylesheet/num_fmt.rb +86 -86
- data/lib/axlsx/stylesheet/pattern_fill.rb +73 -73
- data/lib/axlsx/stylesheet/styles.rb +535 -494
- data/lib/axlsx/stylesheet/table_style.rb +54 -54
- data/lib/axlsx/stylesheet/table_style_element.rb +77 -77
- data/lib/axlsx/stylesheet/table_styles.rb +46 -46
- data/lib/axlsx/stylesheet/xf.rb +147 -147
- data/lib/axlsx/util/accessors.rb +64 -64
- data/lib/axlsx/util/constants.rb +416 -410
- data/lib/axlsx/util/mime_type_utils.rb +11 -11
- data/lib/axlsx/util/options_parser.rb +16 -16
- data/lib/axlsx/util/serialized_attributes.rb +89 -89
- data/lib/axlsx/util/simple_typed_list.rb +179 -179
- data/lib/axlsx/util/storage.rb +146 -146
- data/lib/axlsx/util/validators.rb +312 -312
- data/lib/axlsx/util/zip_command.rb +73 -73
- data/lib/axlsx/version.rb +5 -5
- data/lib/axlsx/workbook/defined_name.rb +128 -128
- data/lib/axlsx/workbook/defined_names.rb +21 -21
- data/lib/axlsx/workbook/shared_strings_table.rb +77 -77
- data/lib/axlsx/workbook/workbook.rb +425 -395
- data/lib/axlsx/workbook/workbook_view.rb +80 -80
- data/lib/axlsx/workbook/workbook_views.rb +22 -22
- data/lib/axlsx/workbook/worksheet/auto_filter/auto_filter.rb +77 -77
- data/lib/axlsx/workbook/worksheet/auto_filter/filter_column.rb +94 -94
- data/lib/axlsx/workbook/worksheet/auto_filter/filters.rb +244 -244
- data/lib/axlsx/workbook/worksheet/border_creator.rb +76 -0
- data/lib/axlsx/workbook/worksheet/break.rb +35 -35
- data/lib/axlsx/workbook/worksheet/cell.rb +532 -506
- data/lib/axlsx/workbook/worksheet/cell_serializer.rb +164 -164
- data/lib/axlsx/workbook/worksheet/cfvo.rb +60 -60
- data/lib/axlsx/workbook/worksheet/cfvos.rb +18 -18
- data/lib/axlsx/workbook/worksheet/col.rb +145 -145
- data/lib/axlsx/workbook/worksheet/col_breaks.rb +35 -35
- data/lib/axlsx/workbook/worksheet/color_scale.rb +110 -110
- data/lib/axlsx/workbook/worksheet/cols.rb +23 -23
- data/lib/axlsx/workbook/worksheet/comment.rb +91 -91
- data/lib/axlsx/workbook/worksheet/comments.rb +82 -82
- data/lib/axlsx/workbook/worksheet/conditional_formatting.rb +82 -82
- data/lib/axlsx/workbook/worksheet/conditional_formatting_rule.rb +220 -220
- data/lib/axlsx/workbook/worksheet/conditional_formattings.rb +25 -25
- data/lib/axlsx/workbook/worksheet/data_bar.rb +129 -129
- data/lib/axlsx/workbook/worksheet/data_validation.rb +267 -246
- data/lib/axlsx/workbook/worksheet/data_validations.rb +28 -28
- data/lib/axlsx/workbook/worksheet/date_time_converter.rb +30 -30
- data/lib/axlsx/workbook/worksheet/dimension.rb +64 -64
- data/lib/axlsx/workbook/worksheet/header_footer.rb +52 -52
- data/lib/axlsx/workbook/worksheet/icon_set.rb +81 -81
- data/lib/axlsx/workbook/worksheet/merged_cells.rb +37 -37
- data/lib/axlsx/workbook/worksheet/outline_pr.rb +33 -33
- data/lib/axlsx/workbook/worksheet/page_margins.rb +97 -97
- data/lib/axlsx/workbook/worksheet/page_set_up_pr.rb +44 -44
- data/lib/axlsx/workbook/worksheet/page_setup.rb +240 -240
- data/lib/axlsx/workbook/worksheet/pane.rb +139 -139
- data/lib/axlsx/workbook/worksheet/pivot_table.rb +335 -296
- data/lib/axlsx/workbook/worksheet/pivot_table_cache_definition.rb +66 -66
- data/lib/axlsx/workbook/worksheet/pivot_tables.rb +24 -24
- data/lib/axlsx/workbook/worksheet/print_options.rb +39 -39
- data/lib/axlsx/workbook/worksheet/protected_range.rb +47 -47
- data/lib/axlsx/workbook/worksheet/protected_ranges.rb +37 -37
- data/lib/axlsx/workbook/worksheet/rich_text.rb +55 -55
- data/lib/axlsx/workbook/worksheet/rich_text_run.rb +250 -250
- data/lib/axlsx/workbook/worksheet/row.rb +164 -164
- data/lib/axlsx/workbook/worksheet/row_breaks.rb +33 -33
- data/lib/axlsx/workbook/worksheet/selection.rb +101 -101
- data/lib/axlsx/workbook/worksheet/sheet_calc_pr.rb +29 -29
- data/lib/axlsx/workbook/worksheet/sheet_data.rb +27 -27
- data/lib/axlsx/workbook/worksheet/sheet_pr.rb +87 -87
- data/lib/axlsx/workbook/worksheet/sheet_protection.rb +118 -118
- data/lib/axlsx/workbook/worksheet/sheet_view.rb +213 -213
- data/lib/axlsx/workbook/worksheet/table.rb +102 -102
- data/lib/axlsx/workbook/worksheet/table_style_info.rb +49 -49
- data/lib/axlsx/workbook/worksheet/tables.rb +34 -34
- data/lib/axlsx/workbook/worksheet/worksheet.rb +829 -786
- data/lib/axlsx/workbook/worksheet/worksheet_comments.rb +58 -58
- data/lib/axlsx/workbook/worksheet/worksheet_drawing.rb +58 -58
- data/lib/axlsx/workbook/worksheet/worksheet_hyperlink.rb +74 -74
- data/lib/axlsx/workbook/worksheet/worksheet_hyperlinks.rb +38 -38
- data/lib/axlsx.rb +204 -185
- data/lib/caxlsx.rb +2 -2
- data/lib/schema/dc.xsd +118 -118
- data/lib/schema/dcmitype.xsd +51 -51
- data/lib/schema/dcterms.xsd +331 -331
- data/lib/schema/dml-chartDrawing.xsd +146 -146
- data/lib/schema/dml-compatibility.xsd +14 -14
- data/lib/schema/dml-lockedCanvas.xsd +11 -11
- data/lib/schema/dml-main.xsd +3048 -3048
- data/lib/schema/dml-picture.xsd +23 -23
- data/lib/schema/dml-spreadsheetDrawing.xsd +185 -185
- data/lib/schema/dml-wordprocessingDrawing.xsd +185 -185
- data/lib/schema/shared-additionalCharacteristics.xsd +28 -28
- data/lib/schema/shared-bibliography.xsd +144 -144
- data/lib/schema/shared-commonSimpleTypes.xsd +166 -166
- data/lib/schema/shared-customXmlDataProperties.xsd +25 -25
- data/lib/schema/shared-customXmlSchemaProperties.xsd +18 -18
- data/lib/schema/shared-documentPropertiesCustom.xsd +59 -59
- data/lib/schema/shared-documentPropertiesExtended.xsd +56 -56
- data/lib/schema/shared-documentPropertiesVariantTypes.xsd +195 -195
- data/lib/schema/shared-relationshipReference.xsd +25 -25
- data/lib/schema/vml-main.xsd +569 -569
- data/lib/schema/vml-officeDrawing.xsd +509 -509
- data/lib/schema/vml-presentationDrawing.xsd +12 -12
- data/lib/schema/vml-spreadsheetDrawing.xsd +108 -108
- data/lib/schema/vml-wordprocessingDrawing.xsd +96 -96
- data/lib/schema/xml.xsd +116 -116
- metadata +5 -252
- data/test/benchmark.rb +0 -72
- data/test/content_type/tc_content_type.rb +0 -76
- data/test/content_type/tc_default.rb +0 -16
- data/test/content_type/tc_override.rb +0 -14
- data/test/doc_props/tc_app.rb +0 -43
- data/test/doc_props/tc_core.rb +0 -42
- data/test/drawing/tc_area_chart.rb +0 -39
- data/test/drawing/tc_area_series.rb +0 -71
- data/test/drawing/tc_axes.rb +0 -8
- data/test/drawing/tc_axis.rb +0 -112
- data/test/drawing/tc_bar_3D_chart.rb +0 -86
- data/test/drawing/tc_bar_chart.rb +0 -86
- data/test/drawing/tc_bar_series.rb +0 -46
- data/test/drawing/tc_bubble_chart.rb +0 -44
- data/test/drawing/tc_bubble_series.rb +0 -21
- data/test/drawing/tc_cat_axis.rb +0 -31
- data/test/drawing/tc_cat_axis_data.rb +0 -27
- data/test/drawing/tc_chart.rb +0 -123
- data/test/drawing/tc_d_lbls.rb +0 -57
- data/test/drawing/tc_data_source.rb +0 -23
- data/test/drawing/tc_drawing.rb +0 -80
- data/test/drawing/tc_graphic_frame.rb +0 -27
- data/test/drawing/tc_hyperlink.rb +0 -64
- data/test/drawing/tc_line_3d_chart.rb +0 -47
- data/test/drawing/tc_line_chart.rb +0 -39
- data/test/drawing/tc_line_series.rb +0 -71
- data/test/drawing/tc_marker.rb +0 -44
- data/test/drawing/tc_named_axis_data.rb +0 -27
- data/test/drawing/tc_num_data.rb +0 -31
- data/test/drawing/tc_num_val.rb +0 -29
- data/test/drawing/tc_one_cell_anchor.rb +0 -66
- data/test/drawing/tc_pic.rb +0 -103
- data/test/drawing/tc_picture_locking.rb +0 -72
- data/test/drawing/tc_pie_3D_chart.rb +0 -28
- data/test/drawing/tc_pie_series.rb +0 -33
- data/test/drawing/tc_scaling.rb +0 -36
- data/test/drawing/tc_scatter_chart.rb +0 -48
- data/test/drawing/tc_scatter_series.rb +0 -74
- data/test/drawing/tc_ser_axis.rb +0 -31
- data/test/drawing/tc_series.rb +0 -23
- data/test/drawing/tc_series_title.rb +0 -54
- data/test/drawing/tc_str_data.rb +0 -18
- data/test/drawing/tc_str_val.rb +0 -30
- data/test/drawing/tc_title.rb +0 -70
- data/test/drawing/tc_two_cell_anchor.rb +0 -36
- data/test/drawing/tc_val_axis.rb +0 -24
- data/test/drawing/tc_view_3D.rb +0 -54
- data/test/drawing/tc_vml_drawing.rb +0 -25
- data/test/drawing/tc_vml_shape.rb +0 -106
- data/test/fixtures/image1.gif +0 -0
- data/test/fixtures/image1.jpeg +0 -0
- data/test/fixtures/image1.jpg +0 -0
- data/test/fixtures/image1.png +0 -0
- data/test/fixtures/image1_fake.jpg +0 -0
- data/test/profile.rb +0 -24
- data/test/rels/tc_relationship.rb +0 -52
- data/test/rels/tc_relationships.rb +0 -37
- data/test/stylesheet/tc_border.rb +0 -37
- data/test/stylesheet/tc_border_pr.rb +0 -32
- data/test/stylesheet/tc_cell_alignment.rb +0 -81
- data/test/stylesheet/tc_cell_protection.rb +0 -29
- data/test/stylesheet/tc_cell_style.rb +0 -57
- data/test/stylesheet/tc_color.rb +0 -43
- data/test/stylesheet/tc_dxf.rb +0 -81
- data/test/stylesheet/tc_fill.rb +0 -18
- data/test/stylesheet/tc_font.rb +0 -133
- data/test/stylesheet/tc_gradient_fill.rb +0 -72
- data/test/stylesheet/tc_gradient_stop.rb +0 -31
- data/test/stylesheet/tc_num_fmt.rb +0 -30
- data/test/stylesheet/tc_pattern_fill.rb +0 -43
- data/test/stylesheet/tc_styles.rb +0 -309
- data/test/stylesheet/tc_table_style.rb +0 -44
- data/test/stylesheet/tc_table_style_element.rb +0 -45
- data/test/stylesheet/tc_table_styles.rb +0 -29
- data/test/stylesheet/tc_xf.rb +0 -120
- data/test/tc_axlsx.rb +0 -109
- data/test/tc_helper.rb +0 -10
- data/test/tc_package.rb +0 -317
- data/test/util/tc_mime_type_utils.rb +0 -13
- data/test/util/tc_serialized_attributes.rb +0 -19
- data/test/util/tc_simple_typed_list.rb +0 -77
- data/test/util/tc_validators.rb +0 -210
- data/test/workbook/tc_defined_name.rb +0 -49
- data/test/workbook/tc_shared_strings_table.rb +0 -59
- data/test/workbook/tc_workbook.rb +0 -165
- data/test/workbook/tc_workbook_view.rb +0 -50
- data/test/workbook/worksheet/auto_filter/tc_auto_filter.rb +0 -38
- data/test/workbook/worksheet/auto_filter/tc_filter_column.rb +0 -76
- data/test/workbook/worksheet/auto_filter/tc_filters.rb +0 -50
- data/test/workbook/worksheet/tc_break.rb +0 -49
- data/test/workbook/worksheet/tc_cell.rb +0 -465
- data/test/workbook/worksheet/tc_cfvo.rb +0 -31
- data/test/workbook/worksheet/tc_col.rb +0 -93
- data/test/workbook/worksheet/tc_color_scale.rb +0 -58
- data/test/workbook/worksheet/tc_comment.rb +0 -72
- data/test/workbook/worksheet/tc_comments.rb +0 -57
- data/test/workbook/worksheet/tc_conditional_formatting.rb +0 -224
- data/test/workbook/worksheet/tc_data_bar.rb +0 -46
- data/test/workbook/worksheet/tc_data_validation.rb +0 -265
- data/test/workbook/worksheet/tc_date_time_converter.rb +0 -124
- data/test/workbook/worksheet/tc_header_footer.rb +0 -151
- data/test/workbook/worksheet/tc_icon_set.rb +0 -45
- data/test/workbook/worksheet/tc_outline_pr.rb +0 -19
- data/test/workbook/worksheet/tc_page_margins.rb +0 -97
- data/test/workbook/worksheet/tc_page_set_up_pr.rb +0 -15
- data/test/workbook/worksheet/tc_page_setup.rb +0 -143
- data/test/workbook/worksheet/tc_pane.rb +0 -54
- data/test/workbook/worksheet/tc_pivot_table.rb +0 -180
- data/test/workbook/worksheet/tc_pivot_table_cache_definition.rb +0 -62
- data/test/workbook/worksheet/tc_print_options.rb +0 -72
- data/test/workbook/worksheet/tc_protected_range.rb +0 -17
- data/test/workbook/worksheet/tc_rich_text.rb +0 -44
- data/test/workbook/worksheet/tc_rich_text_run.rb +0 -173
- data/test/workbook/worksheet/tc_row.rb +0 -160
- data/test/workbook/worksheet/tc_selection.rb +0 -55
- data/test/workbook/worksheet/tc_sheet_calc_pr.rb +0 -18
- data/test/workbook/worksheet/tc_sheet_format_pr.rb +0 -88
- data/test/workbook/worksheet/tc_sheet_pr.rb +0 -49
- data/test/workbook/worksheet/tc_sheet_protection.rb +0 -117
- data/test/workbook/worksheet/tc_sheet_view.rb +0 -214
- data/test/workbook/worksheet/tc_table.rb +0 -77
- data/test/workbook/worksheet/tc_table_style_info.rb +0 -53
- data/test/workbook/worksheet/tc_worksheet.rb +0 -632
- data/test/workbook/worksheet/tc_worksheet_hyperlink.rb +0 -55
@@ -1,25 +1,25 @@
|
|
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
|
+
|
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
|
data/lib/axlsx/doc_props/app.rb
CHANGED
@@ -1,235 +1,235 @@
|
|
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
|
-
|
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
|
+
# 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
|
+
Axlsx.instance_values_for(self).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
|
data/lib/axlsx/doc_props/core.rb
CHANGED
@@ -1,39 +1,39 @@
|
|
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
|
+
# 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
|