openxml-package 0.2.3 → 0.2.4
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.
- checksums.yaml +7 -0
- data/.gitignore +1 -0
- data/lib/openxml-package/version.rb +1 -1
- data/lib/openxml/builder.rb +13 -8
- data/lib/openxml/part.rb +3 -9
- data/test/part_test.rb +29 -9
- metadata +36 -70
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: ebd723d50d1a88422429fd1400221b2ea4b0fc84
|
4
|
+
data.tar.gz: a661bbe8b35316ae02a92de3fcff0dfd38b0d712
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: a5c67e98dff68d23c8366f12aa78229029a2c55c3ebbbc9578d8e63383f175a625717ff4518e55c982dcb5ebf2bae35546548a29de0ce4ca80c961ba1b115ae5
|
7
|
+
data.tar.gz: 20c6d31e69f7d078489d90668c0ab9402699e950aee772571a3cd3be882161235d95ba93ef502b5858d0be348563a29f7537284e7ac7867260779694d7c4a4e7
|
data/.gitignore
CHANGED
data/lib/openxml/builder.rb
CHANGED
@@ -11,19 +11,24 @@ module OpenXml
|
|
11
11
|
attr_reader :parent
|
12
12
|
|
13
13
|
def initialize(options={})
|
14
|
-
@
|
15
|
-
with_xml: true,
|
16
|
-
encoding: "utf-8"
|
17
|
-
}.merge(options)
|
18
|
-
@options[:with_xml] = !!@options[:with_xml] || @options[:standalone] == :yes
|
14
|
+
@to_s_options = { with_xml: true }
|
19
15
|
|
20
|
-
@document = Ox::Document.new(
|
16
|
+
@document = Ox::Document.new(
|
17
|
+
encoding: "utf-8",
|
18
|
+
version: "1.0",
|
19
|
+
standalone: options[:standalone])
|
21
20
|
@parent = @document
|
22
21
|
yield self if block_given?
|
23
22
|
end
|
24
23
|
|
25
|
-
def to_s
|
26
|
-
|
24
|
+
def to_s(args={})
|
25
|
+
options = @to_s_options
|
26
|
+
|
27
|
+
# Unless we would like to debug the files,
|
28
|
+
# don't add whitespace during generation.
|
29
|
+
options = options.merge(indent: -1) unless args[:debug]
|
30
|
+
|
31
|
+
Ox.dump(@document, options).strip
|
27
32
|
end
|
28
33
|
alias :to_xml :to_s
|
29
34
|
|
data/lib/openxml/part.rb
CHANGED
@@ -4,15 +4,15 @@ module OpenXml
|
|
4
4
|
class Part
|
5
5
|
|
6
6
|
def build_xml(options={})
|
7
|
-
OpenXml::Builder.new(options) { |xml| yield xml }
|
7
|
+
OpenXml::Builder.new(options) { |xml| yield xml }
|
8
8
|
end
|
9
9
|
|
10
10
|
def build_standalone_xml(&block)
|
11
|
-
build_xml(
|
11
|
+
build_xml(standalone: :yes, &block)
|
12
12
|
end
|
13
13
|
|
14
14
|
def read
|
15
|
-
|
15
|
+
to_xml.to_s
|
16
16
|
end
|
17
17
|
alias :content :read
|
18
18
|
|
@@ -20,11 +20,5 @@ module OpenXml
|
|
20
20
|
raise NotImplementedError
|
21
21
|
end
|
22
22
|
|
23
|
-
protected
|
24
|
-
|
25
|
-
def strip_whitespace(xml)
|
26
|
-
xml.lines.map(&:strip).join
|
27
|
-
end
|
28
|
-
|
29
23
|
end
|
30
24
|
end
|
data/test/part_test.rb
CHANGED
@@ -2,7 +2,7 @@ require "test_helper"
|
|
2
2
|
require "fileutils"
|
3
3
|
require "set"
|
4
4
|
|
5
|
-
class
|
5
|
+
class PartTest < ActiveSupport::TestCase
|
6
6
|
attr_reader :part, :builder
|
7
7
|
|
8
8
|
|
@@ -16,39 +16,51 @@ class OpenXmlPartTest < ActiveSupport::TestCase
|
|
16
16
|
setup do
|
17
17
|
@builder = @part.build_xml do |xml|
|
18
18
|
xml.document do |xml|
|
19
|
-
2.times { xml.child(
|
19
|
+
2.times { xml.child(attribute: "value", other_attr: "other value") }
|
20
20
|
end
|
21
21
|
end
|
22
22
|
end
|
23
23
|
|
24
24
|
should "build the expected xml" do
|
25
|
-
assert_equal basic_xml, builder.to_s
|
25
|
+
assert_equal basic_xml, builder.to_s(debug: true)
|
26
26
|
end
|
27
27
|
end
|
28
28
|
|
29
29
|
context "Given namespaced xml for one part" do
|
30
30
|
setup do
|
31
31
|
@builder = @part.build_xml do |xml|
|
32
|
-
xml.document(
|
33
|
-
2.times { xml["ns"].child(
|
32
|
+
xml.document("xmlns:ns" => "some:namespace:uri") do
|
33
|
+
2.times { xml["ns"].child(attribute: "value", other_attr: "other value") }
|
34
34
|
end
|
35
35
|
end
|
36
36
|
end
|
37
37
|
|
38
38
|
should "build the expected xml" do
|
39
|
-
assert_equal namespaced_xml, builder.to_s
|
39
|
+
assert_equal namespaced_xml, builder.to_s(debug: true)
|
40
40
|
end
|
41
41
|
end
|
42
42
|
|
43
|
+
context "For a standalone XML element" do
|
44
|
+
setup do
|
45
|
+
@builder = @part.build_standalone_xml do |xml|
|
46
|
+
xml.document do
|
47
|
+
xml.child(attribute: "value", other_attr: "other value")
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
should "build the expected xml" do
|
53
|
+
assert_equal standalone_xml, builder.to_s(debug: true)
|
54
|
+
end
|
55
|
+
end
|
43
56
|
end
|
44
57
|
|
45
58
|
|
46
59
|
|
47
60
|
private
|
48
61
|
|
49
|
-
|
50
62
|
def basic_xml
|
51
|
-
<<-STR
|
63
|
+
<<-STR.strip
|
52
64
|
<?xml version="1.0" encoding="utf-8"?>
|
53
65
|
<document>
|
54
66
|
<child attribute="value" other_attr="other value"/>
|
@@ -58,7 +70,7 @@ private
|
|
58
70
|
end
|
59
71
|
|
60
72
|
def namespaced_xml
|
61
|
-
<<-STR
|
73
|
+
<<-STR.strip
|
62
74
|
<?xml version="1.0" encoding="utf-8"?>
|
63
75
|
<document xmlns:ns="some:namespace:uri">
|
64
76
|
<ns:child attribute="value" other_attr="other value"/>
|
@@ -67,5 +79,13 @@ private
|
|
67
79
|
STR
|
68
80
|
end
|
69
81
|
|
82
|
+
def standalone_xml
|
83
|
+
<<-STR.strip
|
84
|
+
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
85
|
+
<document>
|
86
|
+
<child attribute="value" other_attr="other value"/>
|
87
|
+
</document>
|
88
|
+
STR
|
89
|
+
end
|
70
90
|
|
71
91
|
end
|
metadata
CHANGED
@@ -1,228 +1,201 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: openxml-package
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
5
|
-
prerelease:
|
4
|
+
version: 0.2.4
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Bob Lail
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2016-
|
11
|
+
date: 2016-04-13 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: rubyzip
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- - ~>
|
17
|
+
- - "~>"
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: 1.1.0
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- - ~>
|
24
|
+
- - "~>"
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: 1.1.0
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: nokogiri
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- -
|
31
|
+
- - ">="
|
36
32
|
- !ruby/object:Gem::Version
|
37
33
|
version: '0'
|
38
34
|
type: :runtime
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- -
|
38
|
+
- - ">="
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: '0'
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: ox
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
|
-
- -
|
45
|
+
- - ">="
|
52
46
|
- !ruby/object:Gem::Version
|
53
47
|
version: '0'
|
54
48
|
type: :runtime
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
|
-
- -
|
52
|
+
- - ">="
|
60
53
|
- !ruby/object:Gem::Version
|
61
54
|
version: '0'
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: bundler
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
|
-
- - ~>
|
59
|
+
- - "~>"
|
68
60
|
- !ruby/object:Gem::Version
|
69
61
|
version: '1.6'
|
70
62
|
type: :development
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
|
-
- - ~>
|
66
|
+
- - "~>"
|
76
67
|
- !ruby/object:Gem::Version
|
77
68
|
version: '1.6'
|
78
69
|
- !ruby/object:Gem::Dependency
|
79
70
|
name: rake
|
80
71
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
72
|
requirements:
|
83
|
-
- -
|
73
|
+
- - ">="
|
84
74
|
- !ruby/object:Gem::Version
|
85
75
|
version: '0'
|
86
76
|
type: :development
|
87
77
|
prerelease: false
|
88
78
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
79
|
requirements:
|
91
|
-
- -
|
80
|
+
- - ">="
|
92
81
|
- !ruby/object:Gem::Version
|
93
82
|
version: '0'
|
94
83
|
- !ruby/object:Gem::Dependency
|
95
84
|
name: rails
|
96
85
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
86
|
requirements:
|
99
|
-
- -
|
87
|
+
- - ">="
|
100
88
|
- !ruby/object:Gem::Version
|
101
89
|
version: '3.2'
|
102
|
-
- - <
|
90
|
+
- - "<"
|
103
91
|
- !ruby/object:Gem::Version
|
104
92
|
version: '5.0'
|
105
93
|
type: :development
|
106
94
|
prerelease: false
|
107
95
|
version_requirements: !ruby/object:Gem::Requirement
|
108
|
-
none: false
|
109
96
|
requirements:
|
110
|
-
- -
|
97
|
+
- - ">="
|
111
98
|
- !ruby/object:Gem::Version
|
112
99
|
version: '3.2'
|
113
|
-
- - <
|
100
|
+
- - "<"
|
114
101
|
- !ruby/object:Gem::Version
|
115
102
|
version: '5.0'
|
116
103
|
- !ruby/object:Gem::Dependency
|
117
104
|
name: minitest
|
118
105
|
requirement: !ruby/object:Gem::Requirement
|
119
|
-
none: false
|
120
106
|
requirements:
|
121
|
-
- -
|
107
|
+
- - ">="
|
122
108
|
- !ruby/object:Gem::Version
|
123
109
|
version: '0'
|
124
110
|
type: :development
|
125
111
|
prerelease: false
|
126
112
|
version_requirements: !ruby/object:Gem::Requirement
|
127
|
-
none: false
|
128
113
|
requirements:
|
129
|
-
- -
|
114
|
+
- - ">="
|
130
115
|
- !ruby/object:Gem::Version
|
131
116
|
version: '0'
|
132
117
|
- !ruby/object:Gem::Dependency
|
133
118
|
name: minitest-reporters
|
134
119
|
requirement: !ruby/object:Gem::Requirement
|
135
|
-
none: false
|
136
120
|
requirements:
|
137
|
-
- -
|
121
|
+
- - ">="
|
138
122
|
- !ruby/object:Gem::Version
|
139
123
|
version: '0'
|
140
124
|
type: :development
|
141
125
|
prerelease: false
|
142
126
|
version_requirements: !ruby/object:Gem::Requirement
|
143
|
-
none: false
|
144
127
|
requirements:
|
145
|
-
- -
|
128
|
+
- - ">="
|
146
129
|
- !ruby/object:Gem::Version
|
147
130
|
version: '0'
|
148
131
|
- !ruby/object:Gem::Dependency
|
149
132
|
name: minitest-reporters-turn_reporter
|
150
133
|
requirement: !ruby/object:Gem::Requirement
|
151
|
-
none: false
|
152
134
|
requirements:
|
153
|
-
- -
|
135
|
+
- - ">="
|
154
136
|
- !ruby/object:Gem::Version
|
155
137
|
version: '0'
|
156
138
|
type: :development
|
157
139
|
prerelease: false
|
158
140
|
version_requirements: !ruby/object:Gem::Requirement
|
159
|
-
none: false
|
160
141
|
requirements:
|
161
|
-
- -
|
142
|
+
- - ">="
|
162
143
|
- !ruby/object:Gem::Version
|
163
144
|
version: '0'
|
164
145
|
- !ruby/object:Gem::Dependency
|
165
146
|
name: pry
|
166
147
|
requirement: !ruby/object:Gem::Requirement
|
167
|
-
none: false
|
168
148
|
requirements:
|
169
|
-
- -
|
149
|
+
- - ">="
|
170
150
|
- !ruby/object:Gem::Version
|
171
151
|
version: '0'
|
172
152
|
type: :development
|
173
153
|
prerelease: false
|
174
154
|
version_requirements: !ruby/object:Gem::Requirement
|
175
|
-
none: false
|
176
155
|
requirements:
|
177
|
-
- -
|
156
|
+
- - ">="
|
178
157
|
- !ruby/object:Gem::Version
|
179
158
|
version: '0'
|
180
159
|
- !ruby/object:Gem::Dependency
|
181
160
|
name: rr
|
182
161
|
requirement: !ruby/object:Gem::Requirement
|
183
|
-
none: false
|
184
162
|
requirements:
|
185
|
-
- -
|
163
|
+
- - ">="
|
186
164
|
- !ruby/object:Gem::Version
|
187
165
|
version: '0'
|
188
166
|
type: :development
|
189
167
|
prerelease: false
|
190
168
|
version_requirements: !ruby/object:Gem::Requirement
|
191
|
-
none: false
|
192
169
|
requirements:
|
193
|
-
- -
|
170
|
+
- - ">="
|
194
171
|
- !ruby/object:Gem::Version
|
195
172
|
version: '0'
|
196
173
|
- !ruby/object:Gem::Dependency
|
197
174
|
name: simplecov
|
198
175
|
requirement: !ruby/object:Gem::Requirement
|
199
|
-
none: false
|
200
176
|
requirements:
|
201
|
-
- -
|
177
|
+
- - ">="
|
202
178
|
- !ruby/object:Gem::Version
|
203
179
|
version: '0'
|
204
180
|
type: :development
|
205
181
|
prerelease: false
|
206
182
|
version_requirements: !ruby/object:Gem::Requirement
|
207
|
-
none: false
|
208
183
|
requirements:
|
209
|
-
- -
|
184
|
+
- - ">="
|
210
185
|
- !ruby/object:Gem::Version
|
211
186
|
version: '0'
|
212
187
|
- !ruby/object:Gem::Dependency
|
213
188
|
name: shoulda-context
|
214
189
|
requirement: !ruby/object:Gem::Requirement
|
215
|
-
none: false
|
216
190
|
requirements:
|
217
|
-
- -
|
191
|
+
- - ">="
|
218
192
|
- !ruby/object:Gem::Version
|
219
193
|
version: '0'
|
220
194
|
type: :development
|
221
195
|
prerelease: false
|
222
196
|
version_requirements: !ruby/object:Gem::Requirement
|
223
|
-
none: false
|
224
197
|
requirements:
|
225
|
-
- -
|
198
|
+
- - ">="
|
226
199
|
- !ruby/object:Gem::Version
|
227
200
|
version: '0'
|
228
201
|
description: A Ruby implementation of OpenXmlPackage
|
@@ -232,7 +205,7 @@ executables: []
|
|
232
205
|
extensions: []
|
233
206
|
extra_rdoc_files: []
|
234
207
|
files:
|
235
|
-
- .gitignore
|
208
|
+
- ".gitignore"
|
236
209
|
- Gemfile
|
237
210
|
- LICENSE.txt
|
238
211
|
- README.md
|
@@ -262,33 +235,26 @@ files:
|
|
262
235
|
homepage: https://github.com/openxml/openxml-package
|
263
236
|
licenses:
|
264
237
|
- MIT
|
238
|
+
metadata: {}
|
265
239
|
post_install_message:
|
266
240
|
rdoc_options: []
|
267
241
|
require_paths:
|
268
242
|
- lib
|
269
243
|
required_ruby_version: !ruby/object:Gem::Requirement
|
270
|
-
none: false
|
271
244
|
requirements:
|
272
|
-
- -
|
245
|
+
- - ">="
|
273
246
|
- !ruby/object:Gem::Version
|
274
247
|
version: '0'
|
275
|
-
segments:
|
276
|
-
- 0
|
277
|
-
hash: 281021661309613493
|
278
248
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
279
|
-
none: false
|
280
249
|
requirements:
|
281
|
-
- -
|
250
|
+
- - ">="
|
282
251
|
- !ruby/object:Gem::Version
|
283
252
|
version: '0'
|
284
|
-
segments:
|
285
|
-
- 0
|
286
|
-
hash: 281021661309613493
|
287
253
|
requirements: []
|
288
254
|
rubyforge_project:
|
289
|
-
rubygems_version:
|
255
|
+
rubygems_version: 2.4.5.1
|
290
256
|
signing_key:
|
291
|
-
specification_version:
|
257
|
+
specification_version: 4
|
292
258
|
summary: A Ruby implementation of OpenXmlPackage
|
293
259
|
test_files:
|
294
260
|
- test/content_types_test.rb
|