rubyword 1.0.0 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -2
- data/CHANGELOG.md +44 -0
- data/README.cn.md +167 -0
- data/README.md +24 -3
- data/bin/run-example +11 -0
- data/doc/README.md +18 -1
- data/doc/doc-information.md +16 -0
- data/doc/footer.md +19 -0
- data/doc/header.md +11 -0
- data/doc/image.md +10 -0
- data/doc/link.md +10 -0
- data/doc/list.md +17 -0
- data/doc/paragraph.md +27 -0
- data/doc/table.md +21 -0
- data/doc/text.md +26 -1
- data/doc/title.md +14 -0
- data/doc/toc.md +11 -0
- data/example/doc_information.rb +13 -0
- data/example/footer.rb +5 -0
- data/example/header.rb +5 -0
- data/example/image.rb +7 -0
- data/example/link.rb +7 -0
- data/example/list.rb +11 -0
- data/example/paragraph.rb +17 -0
- data/example/result/.keep +0 -0
- data/example/result/doc-information.docx +0 -0
- data/example/result/footer.docx +0 -0
- data/example/result/header.docx +0 -0
- data/example/result/image.docx +0 -0
- data/example/result/link.docx +0 -0
- data/example/result/list.docx +0 -0
- data/example/result/paragraph.docx +0 -0
- data/example/result/table.docx +0 -0
- data/example/result/test.docx +0 -0
- data/example/result/text.docx +0 -0
- data/example/table.rb +18 -0
- data/example/test.rb +117 -0
- data/example/text.rb +9 -0
- data/example/toc.rb +24 -0
- data/lib/rubyword.rb +1 -0
- data/lib/rubyword/configuration.rb +1 -1
- data/lib/rubyword/document.rb +29 -41
- data/lib/rubyword/element/base.rb +12 -0
- data/lib/rubyword/element/link.rb +6 -5
- data/lib/rubyword/element/list.rb +4 -2
- data/lib/rubyword/element/paragraph.rb +38 -0
- data/lib/rubyword/element/section.rb +23 -10
- data/lib/rubyword/element/table.rb +60 -0
- data/lib/rubyword/element/text.rb +14 -79
- data/lib/rubyword/style.rb +4 -0
- data/lib/rubyword/version.rb +1 -1
- data/lib/rubyword/writer.rb +0 -4
- data/lib/rubyword/writer/part/document.rb +51 -44
- data/lib/rubyword/writer/part/footer.rb +1 -6
- data/lib/rubyword/writer/part/header.rb +2 -6
- data/lib/rubyword/writer/style/base.rb +0 -1
- data/lib/rubyword/writer/style/paragraph.rb +47 -0
- data/lib/rubyword/writer/style/section.rb +0 -1
- data/lib/rubyword/writer/style/word.rb +40 -0
- data/rubyword.gemspec +1 -2
- data/spec/rubyword/document_spec.rb +18 -3
- data/spec/rubyword/element/page_break_spec.rb +55 -0
- data/spec/rubyword/element/text_break_spec.rb +46 -0
- data/spec/rubyword/element/text_spec.rb +50 -0
- data/spec/spec_helper.rb +3 -30
- metadata +50 -20
- data/CHANGELOG.txt +0 -10
@@ -20,12 +20,7 @@ module Rubyword
|
|
20
20
|
builder = Nokogiri::XML::Builder.new(:encoding => 'UTF-8') do |xml|
|
21
21
|
xml.send('w:ftr', ATTRIBUTE) {
|
22
22
|
xml.p {
|
23
|
-
|
24
|
-
xml.send('w:pPr') {
|
25
|
-
xml.send('w:jc', 'w:val' => footer[:text_align])
|
26
|
-
}
|
27
|
-
end
|
28
|
-
|
23
|
+
Writer::Style::Paragraph.new(@section, xml, @rubyword).write(footer[:style])
|
29
24
|
nums_type = footer[:nums_type].to_s.downcase
|
30
25
|
if footer[:text].nil? || nums_type == 'roman' || nums_type == 'number'
|
31
26
|
text = 'PAGE'
|
@@ -16,15 +16,11 @@ module Rubyword
|
|
16
16
|
}
|
17
17
|
|
18
18
|
def write
|
19
|
-
|
19
|
+
header = @rubyword.header
|
20
20
|
builder = Nokogiri::XML::Builder.new(:encoding => 'UTF-8') do |xml|
|
21
21
|
xml.send('w:hdr', ATTRIBUTE) {
|
22
22
|
xml.p {
|
23
|
-
|
24
|
-
xml.send('w:pPr') {
|
25
|
-
xml.send('w:jc', 'w:val' => text_align)
|
26
|
-
}
|
27
|
-
end
|
23
|
+
Writer::Style::Paragraph.new(@section, xml, @rubyword).write(header[:style])
|
28
24
|
xml.send('w:r') {
|
29
25
|
xml.send('w:t', {'xml:space' => "preserve"}, @rubyword.header[:text])
|
30
26
|
}
|
@@ -0,0 +1,47 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
module Rubyword
|
3
|
+
module Writer
|
4
|
+
module Style
|
5
|
+
class Paragraph < Base
|
6
|
+
|
7
|
+
ParagraphStyleList = {
|
8
|
+
text_align: 'w:jc',
|
9
|
+
spacing: 'w:spacing',
|
10
|
+
indent_left: 'w:ind',
|
11
|
+
indent_right: 'w:ind',
|
12
|
+
indent_between: 'w:ind'
|
13
|
+
}.freeze
|
14
|
+
|
15
|
+
# write paragraph style
|
16
|
+
def write(style)
|
17
|
+
return unless !style.nil? && style.is_a?(Hash)
|
18
|
+
@xml.send('w:pPr') {
|
19
|
+
style.keys.each do |style_name|
|
20
|
+
style_name = style_name.to_sym
|
21
|
+
next unless ParagraphStyleList.keys.include?(style_name)
|
22
|
+
value = style[style_name]
|
23
|
+
attribute = case style_name.to_s
|
24
|
+
when 'spacing'
|
25
|
+
{'w:after' => value}
|
26
|
+
when 'indent_left'
|
27
|
+
{'w:left' => value}
|
28
|
+
when 'indent_right'
|
29
|
+
{'w:right' => value}
|
30
|
+
when 'indent_between'
|
31
|
+
v = value.split '-'
|
32
|
+
next unless v.is_a?(Array)
|
33
|
+
{ 'w:left' => v[0].to_i, 'w:right' => v[1].to_i }
|
34
|
+
when !!value == value
|
35
|
+
nil
|
36
|
+
else
|
37
|
+
{'w:val' => value}
|
38
|
+
end
|
39
|
+
doc_style = ParagraphStyleList[style_name]
|
40
|
+
@xml.send(doc_style, attribute)
|
41
|
+
end
|
42
|
+
}
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
module Rubyword
|
3
|
+
module Writer
|
4
|
+
module Style
|
5
|
+
class Word < Base
|
6
|
+
WordStyleList = {
|
7
|
+
font_size: 'w:sz',
|
8
|
+
color: 'w:color',
|
9
|
+
underline: 'w:u',
|
10
|
+
blod: 'w:b',
|
11
|
+
all_caps: 'w:caps',
|
12
|
+
italic: 'w:i',
|
13
|
+
bgcolor: 'w:highlight'
|
14
|
+
}.freeze
|
15
|
+
|
16
|
+
def write(style)
|
17
|
+
if !style.nil? && style.is_a?(Hash)
|
18
|
+
@xml.send('w:rPr') {
|
19
|
+
style.keys.each do |style_name|
|
20
|
+
style_name = style_name.to_sym
|
21
|
+
if WordStyleList.keys.include?(style_name)
|
22
|
+
value = style[style_name]
|
23
|
+
attribute = if !!value != value # not a bool type
|
24
|
+
{'w:val' => value}
|
25
|
+
else
|
26
|
+
nil
|
27
|
+
end
|
28
|
+
doc_style = WordStyleList[style_name]
|
29
|
+
@xml.send(doc_style, attribute)
|
30
|
+
@xml.send('w:szCs', attribute) if style_name == :font_size
|
31
|
+
end
|
32
|
+
end
|
33
|
+
}
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
data/rubyword.gemspec
CHANGED
@@ -21,7 +21,6 @@ Gem::Specification.new do |spec|
|
|
21
21
|
spec.add_development_dependency "rake", "~> 10.0"
|
22
22
|
spec.add_development_dependency "rspec"
|
23
23
|
spec.add_development_dependency "nokogiri"
|
24
|
-
spec.add_development_dependency "
|
25
|
-
spec.add_development_dependency "open-uri"
|
24
|
+
spec.add_development_dependency "rubyzip"
|
26
25
|
spec.add_development_dependency "fastimage"
|
27
26
|
end
|
@@ -1,10 +1,25 @@
|
|
1
1
|
require "spec_helper"
|
2
2
|
module Rubyword
|
3
3
|
describe Document do
|
4
|
-
|
5
|
-
|
4
|
+
before(:each) do
|
5
|
+
@document = Document.new
|
6
|
+
end
|
7
|
+
describe "Initialize Document" do
|
6
8
|
it "return a document class" do
|
7
|
-
|
9
|
+
expect(@document.class).to eq(Rubyword::Document)
|
10
|
+
end
|
11
|
+
|
12
|
+
it "return a section" do
|
13
|
+
expect(@document.section.class).to eq(Rubyword::Element::Section)
|
14
|
+
end
|
15
|
+
|
16
|
+
it "add mutiple section" do
|
17
|
+
section1 = @document.section
|
18
|
+
section2 = @document.section
|
19
|
+
section3 = @document.section
|
20
|
+
expect(section1.section_id).to eq(1)
|
21
|
+
expect(section2.section_id).to eq(2)
|
22
|
+
expect(section3.section_id).to eq(3)
|
8
23
|
end
|
9
24
|
end
|
10
25
|
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
module Rubyword
|
3
|
+
describe Document do
|
4
|
+
before(:each) do
|
5
|
+
@document = Document.new
|
6
|
+
end
|
7
|
+
let(:page_num) { 2 }
|
8
|
+
describe "Add pagebreak" do
|
9
|
+
subject(:pagebreak) {
|
10
|
+
pagebreak = Element::PageBreak.new(@document)
|
11
|
+
pagebreak.save(page_num)
|
12
|
+
pagebreak
|
13
|
+
}
|
14
|
+
|
15
|
+
it "save page break to PageBreak Object" do
|
16
|
+
expect(pagebreak.numbers.size.to_i).to eq(1)
|
17
|
+
end
|
18
|
+
|
19
|
+
it "check the numbers pop" do
|
20
|
+
number = pagebreak.numbers.pop
|
21
|
+
expect(number).to eq(page_num)
|
22
|
+
expect(pagebreak.numbers.size.to_i).to eq(0)
|
23
|
+
end
|
24
|
+
|
25
|
+
it "Write pagebreak xml" do
|
26
|
+
build = Nokogiri::XML::Builder.new(:encoding => 'UTF-8') do |xml|
|
27
|
+
xml.send('w:document') {
|
28
|
+
xml.send('w:body') {
|
29
|
+
pagebreak.write(nil, xml)
|
30
|
+
}
|
31
|
+
}
|
32
|
+
end
|
33
|
+
result =<<-EOL
|
34
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
35
|
+
<w:document>
|
36
|
+
<w:body>
|
37
|
+
<w:p>
|
38
|
+
<w:r>
|
39
|
+
<w:br w:type="page"/>
|
40
|
+
</w:r>
|
41
|
+
</w:p>
|
42
|
+
<w:p>
|
43
|
+
<w:r>
|
44
|
+
<w:br w:type="page"/>
|
45
|
+
</w:r>
|
46
|
+
</w:p>
|
47
|
+
</w:body>
|
48
|
+
</w:document>
|
49
|
+
EOL
|
50
|
+
expect(remove_whitespace(build.to_xml)).to eq(remove_whitespace(result))
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
end
|
55
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
module Rubyword
|
3
|
+
describe Document do
|
4
|
+
before(:each) do
|
5
|
+
@document = Document.new
|
6
|
+
end
|
7
|
+
let(:page_num) { 2 }
|
8
|
+
describe "Add TextBreak" do
|
9
|
+
subject(:textbreak) {
|
10
|
+
textbreak = Element::TextBreak.new(@document)
|
11
|
+
textbreak.save(page_num)
|
12
|
+
textbreak
|
13
|
+
}
|
14
|
+
|
15
|
+
it "save page break to textbreak Object" do
|
16
|
+
expect(textbreak.numbers.size.to_i).to eq(1)
|
17
|
+
end
|
18
|
+
|
19
|
+
it "check the numbers pop" do
|
20
|
+
number = textbreak.numbers.pop
|
21
|
+
expect(number).to eq(page_num)
|
22
|
+
expect(textbreak.numbers.size.to_i).to eq(0)
|
23
|
+
end
|
24
|
+
|
25
|
+
it "Write textbreak xml" do
|
26
|
+
build = Nokogiri::XML::Builder.new(:encoding => 'UTF-8') do |xml|
|
27
|
+
xml.send('w:document') {
|
28
|
+
xml.send('w:body') {
|
29
|
+
textbreak.write(nil, xml)
|
30
|
+
}
|
31
|
+
}
|
32
|
+
end
|
33
|
+
result =<<-EOL
|
34
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
35
|
+
<w:document>
|
36
|
+
<w:body>
|
37
|
+
<w:p/><w:p/>
|
38
|
+
</w:body>
|
39
|
+
</w:document>
|
40
|
+
EOL
|
41
|
+
expect(remove_whitespace(build.to_xml)).to eq(remove_whitespace(result))
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
end
|
46
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
module Rubyword
|
3
|
+
describe Document do
|
4
|
+
before(:each) do
|
5
|
+
@document = Document.new
|
6
|
+
end
|
7
|
+
let(:section) { @document.section }
|
8
|
+
subject(:text_obj) {
|
9
|
+
Element::Text.new(@document, section)
|
10
|
+
}
|
11
|
+
|
12
|
+
context "Add A Simple Text" do
|
13
|
+
it 'should return nil' do
|
14
|
+
text = text_obj.save(nil)
|
15
|
+
expect(text).to eq(nil)
|
16
|
+
text = text_obj.save('simple', nil)
|
17
|
+
expect(text).to eq(nil)
|
18
|
+
end
|
19
|
+
|
20
|
+
it 'should return queue object' do
|
21
|
+
text = text_obj.save('sample text', 'text')
|
22
|
+
expect(text.class).to eq(Queue)
|
23
|
+
end
|
24
|
+
|
25
|
+
it 'should return hash' do
|
26
|
+
string = 'sample'
|
27
|
+
text = text_obj.save(string, 'text')
|
28
|
+
expect(text.pop.to_s).to eq({size: 'normal', text: string, style: nil}.to_s)
|
29
|
+
end
|
30
|
+
|
31
|
+
it 'should output xml' do
|
32
|
+
string = 'sample'
|
33
|
+
text_obj.save(string, 'text')
|
34
|
+
build = Nokogiri::XML::Builder.new(:encoding => 'UTF-8') do |xml|
|
35
|
+
text_obj.write(section, xml)
|
36
|
+
end
|
37
|
+
result =<<-EOL
|
38
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
39
|
+
<w:p>
|
40
|
+
<w:r>
|
41
|
+
<w:t xml:space="preserve">sample</w:t>
|
42
|
+
</w:r>
|
43
|
+
</w:p>
|
44
|
+
EOL
|
45
|
+
expect(remove_whitespace(build.to_xml)).to eq(remove_whitespace(result))
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
end
|
50
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,32 +1,5 @@
|
|
1
1
|
require "rubyword"
|
2
|
-
RSpec.configure do |config|
|
3
|
-
# rspec-expectations config goes here. You can use an alternate
|
4
|
-
# assertion/expectation library such as wrong or the stdlib/minitest
|
5
|
-
# assertions if you prefer.
|
6
|
-
config.expect_with :rspec do |expectations|
|
7
|
-
# This option will default to `true` in RSpec 4. It makes the `description`
|
8
|
-
# and `failure_message` of custom matchers include text for helper methods
|
9
|
-
# defined using `chain`, e.g.:
|
10
|
-
# be_bigger_than(2).and_smaller_than(4).description
|
11
|
-
# # => "be bigger than 2 and smaller than 4"
|
12
|
-
# ...rather than:
|
13
|
-
# # => "be bigger than 2"
|
14
|
-
expectations.include_chain_clauses_in_custom_matcher_descriptions = true
|
15
|
-
end
|
16
2
|
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
# Prevents you from mocking or stubbing a method that does not exist on
|
21
|
-
# a real object. This is generally recommended, and will default to
|
22
|
-
# `true` in RSpec 4.
|
23
|
-
mocks.verify_partial_doubles = true
|
24
|
-
end
|
25
|
-
|
26
|
-
# This option will default to `:apply_to_host_groups` in RSpec 4 (and will
|
27
|
-
# have no way to turn it off -- the option exists only for backwards
|
28
|
-
# compatibility in RSpec 3). It causes shared context metadata to be
|
29
|
-
# inherited by the metadata hash of host groups and examples, rather than
|
30
|
-
# triggering implicit auto-inclusion in groups with matching metadata.
|
31
|
-
config.shared_context_metadata_behavior = :apply_to_host_groups
|
32
|
-
end
|
3
|
+
def remove_whitespace(wordml)
|
4
|
+
wordml.gsub(/\s+/, ' ').gsub(/(?<keep>>)\s+|\s+(?<keep><)/, '\k<keep>').strip
|
5
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubyword
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- young
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-11-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -67,21 +67,7 @@ dependencies:
|
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - ">="
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '0'
|
76
|
-
type: :development
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - ">="
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '0'
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: open-uri
|
70
|
+
name: rubyzip
|
85
71
|
requirement: !ruby/object:Gem::Requirement
|
86
72
|
requirements:
|
87
73
|
- - ">="
|
@@ -114,21 +100,56 @@ email:
|
|
114
100
|
- youngjy6@gmail.com
|
115
101
|
executables:
|
116
102
|
- console
|
103
|
+
- run-example
|
117
104
|
- setup
|
118
105
|
extensions: []
|
119
106
|
extra_rdoc_files: []
|
120
107
|
files:
|
121
108
|
- ".gitignore"
|
122
109
|
- ".rspec"
|
123
|
-
- CHANGELOG.
|
110
|
+
- CHANGELOG.md
|
124
111
|
- Gemfile
|
125
112
|
- LICENSE
|
113
|
+
- README.cn.md
|
126
114
|
- README.md
|
127
115
|
- Rakefile
|
128
116
|
- bin/console
|
117
|
+
- bin/run-example
|
129
118
|
- bin/setup
|
130
119
|
- doc/README.md
|
120
|
+
- doc/doc-information.md
|
121
|
+
- doc/footer.md
|
122
|
+
- doc/header.md
|
123
|
+
- doc/image.md
|
124
|
+
- doc/link.md
|
125
|
+
- doc/list.md
|
126
|
+
- doc/paragraph.md
|
127
|
+
- doc/table.md
|
131
128
|
- doc/text.md
|
129
|
+
- doc/title.md
|
130
|
+
- doc/toc.md
|
131
|
+
- example/doc_information.rb
|
132
|
+
- example/footer.rb
|
133
|
+
- example/header.rb
|
134
|
+
- example/image.rb
|
135
|
+
- example/link.rb
|
136
|
+
- example/list.rb
|
137
|
+
- example/paragraph.rb
|
138
|
+
- example/result/.keep
|
139
|
+
- example/result/doc-information.docx
|
140
|
+
- example/result/footer.docx
|
141
|
+
- example/result/header.docx
|
142
|
+
- example/result/image.docx
|
143
|
+
- example/result/link.docx
|
144
|
+
- example/result/list.docx
|
145
|
+
- example/result/paragraph.docx
|
146
|
+
- example/result/table.docx
|
147
|
+
- example/result/test.docx
|
148
|
+
- example/result/text.docx
|
149
|
+
- example/table.rb
|
150
|
+
- example/test.rb
|
151
|
+
- example/text.rb
|
152
|
+
- example/toc.rb
|
132
153
|
- lib/rubyword.rb
|
133
154
|
- lib/rubyword/configuration.rb
|
134
155
|
- lib/rubyword/document.rb
|
@@ -137,9 +158,12 @@ files:
|
|
137
158
|
- lib/rubyword/element/link.rb
|
138
159
|
- lib/rubyword/element/list.rb
|
139
160
|
- lib/rubyword/element/page_break.rb
|
161
|
+
- lib/rubyword/element/paragraph.rb
|
140
162
|
- lib/rubyword/element/section.rb
|
163
|
+
- lib/rubyword/element/table.rb
|
141
164
|
- lib/rubyword/element/text.rb
|
142
165
|
- lib/rubyword/element/text_break.rb
|
166
|
+
- lib/rubyword/style.rb
|
143
167
|
- lib/rubyword/version.rb
|
144
168
|
- lib/rubyword/writer.rb
|
145
169
|
- lib/rubyword/writer/part/base.rb
|
@@ -160,10 +184,14 @@ files:
|
|
160
184
|
- lib/rubyword/writer/part/toc.rb
|
161
185
|
- lib/rubyword/writer/part/web_settings.rb
|
162
186
|
- lib/rubyword/writer/style/base.rb
|
187
|
+
- lib/rubyword/writer/style/paragraph.rb
|
163
188
|
- lib/rubyword/writer/style/section.rb
|
189
|
+
- lib/rubyword/writer/style/word.rb
|
164
190
|
- rubyword.gemspec
|
165
|
-
- sample/test.rb
|
166
191
|
- spec/rubyword/document_spec.rb
|
192
|
+
- spec/rubyword/element/page_break_spec.rb
|
193
|
+
- spec/rubyword/element/text_break_spec.rb
|
194
|
+
- spec/rubyword/element/text_spec.rb
|
167
195
|
- spec/spec_helper.rb
|
168
196
|
- template/fontTable.xml
|
169
197
|
- template/theme.xml
|
@@ -193,5 +221,7 @@ specification_version: 4
|
|
193
221
|
summary: Generate MS Word for ruby
|
194
222
|
test_files:
|
195
223
|
- spec/rubyword/document_spec.rb
|
224
|
+
- spec/rubyword/element/page_break_spec.rb
|
225
|
+
- spec/rubyword/element/text_break_spec.rb
|
226
|
+
- spec/rubyword/element/text_spec.rb
|
196
227
|
- spec/spec_helper.rb
|
197
|
-
has_rdoc:
|