blob: 8dbe4cf4bde5f5f5ea3b203ba0b30478a34e2676 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
# frozen_string_literal: true
module Axlsx
# The core object for the package.
# @note Packages manage their own core object.
# @see Package#core
class Core
# Creates a new Core object.
# @option options [String] creator
# @option options [Time] created
def initialize(options = {})
@creator = options[:creator] || 'axlsx'
@created = options[:created]
end
# The author of the document. By default this is 'axlsx'
# @return [String]
attr_accessor :creator
# Creation time of the document. If nil, the current time will be used.
attr_accessor :created
# serializes the core.xml document
# @return [String]
def to_xml_string(str = +'')
str << '<?xml version="1.0" encoding="UTF-8"?>'
str << '<cp:coreProperties xmlns:cp="' << CORE_NS << '" xmlns:dc="' << CORE_NS_DC << '" '
str << 'xmlns:dcmitype="' << CORE_NS_DCMIT << '" xmlns:dcterms="' << CORE_NS_DCT << '" '
str << 'xmlns:xsi="' << CORE_NS_XSI << '">'
str << '<dc:creator>' << self.creator << '</dc:creator>'
str << '<dcterms:created xsi:type="dcterms:W3CDTF">' << (created || Time.now).strftime('%Y-%m-%dT%H:%M:%S') << 'Z</dcterms:created>'
str << '<cp:revision>0</cp:revision>'
str << '</cp:coreProperties>'
end
end
end
|