odf-report 0.5.1 → 0.5.2
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 +5 -13
- data/.gitignore +1 -0
- data/.rspec +4 -0
- data/README.textile +6 -8
- data/Rakefile +8 -0
- data/lib/odf-report.rb +0 -1
- data/lib/odf-report/field.rb +64 -32
- data/lib/odf-report/file.rb +2 -2
- data/lib/odf-report/nested.rb +31 -3
- data/lib/odf-report/parser/default.rb +5 -4
- data/lib/odf-report/report.rb +10 -34
- data/lib/odf-report/section.rb +21 -57
- data/lib/odf-report/table.rb +12 -36
- data/lib/odf-report/text.rb +1 -1
- data/lib/odf-report/version.rb +1 -1
- data/odf-report.gemspec +4 -1
- data/spec/fields_spec.rb +77 -0
- data/spec/spec_helper.rb +45 -0
- data/spec/specs.odt +0 -0
- data/spec/tables_spec.rb +39 -0
- data/test/fields_inside_text_test.rb +38 -0
- data/test/nested_tables_test.rb +43 -0
- data/test/sections_test.rb +44 -0
- data/test/sub_sections_test.rb +58 -0
- data/test/table_headers_test.rb +41 -0
- data/test/tables_test.rb +67 -0
- data/test/{piriapolis.jpg → templates/piriapolis.jpg} +0 -0
- data/test/{rails.png → templates/rails.png} +0 -0
- data/test/templates/test_sub_sections.odt +0 -0
- data/test/templates/test_text.odt +0 -0
- data/test/text_test.rb +56 -0
- metadata +87 -36
- data/lib/odf-report/fields.rb +0 -40
- data/test/test_fields_inside_text.rb +0 -37
- data/test/test_nested_tables.rb +0 -39
- data/test/test_sections.rb +0 -39
- data/test/test_sub_sections.rb +0 -57
- data/test/test_table_headers.rb +0 -39
- data/test/test_tables.rb +0 -62
- data/test/test_text.rb +0 -48
@@ -0,0 +1,41 @@
|
|
1
|
+
require './lib/odf-report'
|
2
|
+
require 'ostruct'
|
3
|
+
require 'faker'
|
4
|
+
require 'launchy'
|
5
|
+
|
6
|
+
|
7
|
+
class Item
|
8
|
+
attr_accessor :name, :mail
|
9
|
+
def initialize(_name, _mail)
|
10
|
+
@name=_name
|
11
|
+
@mail=_mail
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
@items = []
|
18
|
+
50.times { @items << Item.new(Faker::Name.name, Faker::Internet.email) }
|
19
|
+
|
20
|
+
|
21
|
+
|
22
|
+
report = ODFReport::Report.new("test/templates/test_table_headers.odt") do |r|
|
23
|
+
|
24
|
+
r.add_table("TABLE_01", @items, :header => true) do |s|
|
25
|
+
s.add_column(:name)
|
26
|
+
s.add_column(:mail)
|
27
|
+
end
|
28
|
+
|
29
|
+
r.add_table("TABLE_02", @items, :header => true) do |s|
|
30
|
+
s.add_column(:name)
|
31
|
+
s.add_column(:mail)
|
32
|
+
end
|
33
|
+
|
34
|
+
r.add_table("TABLE_03", @items) do |s|
|
35
|
+
s.add_column(:name)
|
36
|
+
s.add_column(:mail)
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
40
|
+
|
41
|
+
report.generate("test/result/test_table_headers.odt")
|
data/test/tables_test.rb
ADDED
@@ -0,0 +1,67 @@
|
|
1
|
+
require './lib/odf-report'
|
2
|
+
require 'ostruct'
|
3
|
+
require 'faker'
|
4
|
+
require 'launchy'
|
5
|
+
|
6
|
+
|
7
|
+
@col1 = []
|
8
|
+
(1..40).each do |i|
|
9
|
+
@col1 << {:name=>"name #{i}", :idx=>i, :address=>"this is address #{i}"}
|
10
|
+
end
|
11
|
+
|
12
|
+
|
13
|
+
@col2 = []
|
14
|
+
@col2 << OpenStruct.new({:name=>"josh harnet", :idx=>"02", :address=>"testing <&> ", :phone=>99025668, :zip=>"90420-002"})
|
15
|
+
@col2 << OpenStruct.new({:name=>"sandro duarte", :idx=>"45", :address=>"address with &", :phone=>88774451, :zip=>"90490-002"})
|
16
|
+
@col2 << OpenStruct.new({:name=>"ellen bicca", :idx=>"77", :address=>"<address with escaped html>", :phone=>77025668, :zip=>"94420-002"})
|
17
|
+
@col2 << OpenStruct.new({:name=>"luiz garcia", 'idx'=>"88", :address=>"address with\nlinebreak", :phone=>27025668, :zip=>"94520-025"})
|
18
|
+
|
19
|
+
@col3, @col4, @col5 = [], [], []
|
20
|
+
|
21
|
+
|
22
|
+
|
23
|
+
report = ODFReport::Report.new("test/templates/test_tables.odt") do |r|
|
24
|
+
|
25
|
+
r.add_field("HEADER_FIELD", "This field was in the HEADER")
|
26
|
+
|
27
|
+
r.add_field("TAG_01", "New tag")
|
28
|
+
r.add_field("TAG_02", "TAG-2 -> New tag")
|
29
|
+
|
30
|
+
r.add_table("TABLE_01", @col1, :header=>true) do |t|
|
31
|
+
t.add_column(:field_01, :idx)
|
32
|
+
t.add_column(:field_02, :name)
|
33
|
+
t.add_column(:address)
|
34
|
+
end
|
35
|
+
|
36
|
+
r.add_table("TABLE_02", @col2) do |t|
|
37
|
+
t.add_column(:field_04, :idx)
|
38
|
+
t.add_column(:field_05, :name)
|
39
|
+
t.add_column(:field_06, 'address')
|
40
|
+
t.add_column(:field_07, :phone)
|
41
|
+
t.add_column(:field_08, :zip)
|
42
|
+
end
|
43
|
+
|
44
|
+
r.add_table("TABLE_03", @col3, :header=>true) do |t|
|
45
|
+
t.add_column(:field_01, :idx)
|
46
|
+
t.add_column(:field_02, :name)
|
47
|
+
t.add_column(:field_03, :address)
|
48
|
+
end
|
49
|
+
|
50
|
+
r.add_table("TABLE_04", @col4, :header=>true, :skip_if_empty => true) do |t|
|
51
|
+
t.add_column(:field_01, :idx)
|
52
|
+
t.add_column(:field_02, :name)
|
53
|
+
t.add_column(:field_03, :address)
|
54
|
+
end
|
55
|
+
|
56
|
+
r.add_table("TABLE_05", @col5) do |t|
|
57
|
+
t.add_column(:field_01, :idx)
|
58
|
+
t.add_column(:field_02, :name)
|
59
|
+
t.add_column(:field_03, :address)
|
60
|
+
end
|
61
|
+
|
62
|
+
r.add_image("graphics1", File.join(Dir.pwd, 'test', 'templates', 'piriapolis.jpg'))
|
63
|
+
r.add_image("graphics2", File.join(Dir.pwd, 'test', 'templates', 'rails.png'))
|
64
|
+
|
65
|
+
end
|
66
|
+
|
67
|
+
report.generate("test/result/test_tables.odt")
|
File without changes
|
File without changes
|
Binary file
|
Binary file
|
data/test/text_test.rb
ADDED
@@ -0,0 +1,56 @@
|
|
1
|
+
require './lib/odf-report'
|
2
|
+
require 'faker'
|
3
|
+
|
4
|
+
|
5
|
+
class Item
|
6
|
+
attr_accessor :name, :inner_text
|
7
|
+
def initialize(_name, _text)
|
8
|
+
@name=_name
|
9
|
+
@inner_text=_text
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
@items = []
|
16
|
+
3.times do
|
17
|
+
|
18
|
+
text = <<-HTML
|
19
|
+
<p>#{Faker::Lorem.sentence} <em>#{Faker::Lorem.sentence}</em> #{Faker::Lorem.sentence}</p>
|
20
|
+
<p>#{Faker::Lorem.sentence} <strong>#{Faker::Lorem.paragraph(3)}</strong> NO FORMAT <strong>#{Faker::Lorem.paragraph(2)}</strong> #{Faker::Lorem.sentence}</p>
|
21
|
+
<p>#{Faker::Lorem.paragraph}</p>
|
22
|
+
<blockquote>
|
23
|
+
<p>#{Faker::Lorem.paragraph}</p>
|
24
|
+
<p>#{Faker::Lorem.paragraph}</p>
|
25
|
+
</blockquote>
|
26
|
+
<p style="margin: 150px">#{Faker::Lorem.paragraph}</p>
|
27
|
+
<p>#{Faker::Lorem.paragraph}</p>
|
28
|
+
HTML
|
29
|
+
|
30
|
+
@items << Item.new(Faker::Name.name, text)
|
31
|
+
|
32
|
+
end
|
33
|
+
|
34
|
+
|
35
|
+
item = @items.pop
|
36
|
+
|
37
|
+
report = ODFReport::Report.new("test/templates/test_text.odt") do |r|
|
38
|
+
|
39
|
+
r.add_field("TAG_01", Faker::Company.name)
|
40
|
+
r.add_field("TAG_02", Faker::Company.catch_phrase)
|
41
|
+
|
42
|
+
r.add_text(:main_text, item.inner_text)
|
43
|
+
|
44
|
+
r.add_section("SECTION_01", @items) do |s|
|
45
|
+
s.add_field(:name)
|
46
|
+
s.add_text(:inner_text) { |i| i.inner_text }
|
47
|
+
end
|
48
|
+
|
49
|
+
r.add_table("TABLE", @items) do |s|
|
50
|
+
s.add_field(:field, :name)
|
51
|
+
s.add_text(:text, :inner_text)
|
52
|
+
end
|
53
|
+
|
54
|
+
end
|
55
|
+
|
56
|
+
report.generate("test/result/test_text.odt")
|
metadata
CHANGED
@@ -1,69 +1,111 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: odf-report
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sandro Duarte
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-12-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '1.6'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - ~>
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.6'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rspec
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 3.0.0
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 3.0.0
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: faker
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: launchy
|
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
|
+
- - ">="
|
39
81
|
- !ruby/object:Gem::Version
|
40
82
|
version: '0'
|
41
83
|
- !ruby/object:Gem::Dependency
|
42
84
|
name: rubyzip
|
43
85
|
requirement: !ruby/object:Gem::Requirement
|
44
86
|
requirements:
|
45
|
-
- - ~>
|
87
|
+
- - "~>"
|
46
88
|
- !ruby/object:Gem::Version
|
47
|
-
version: 1.
|
89
|
+
version: 1.2.0
|
48
90
|
type: :runtime
|
49
91
|
prerelease: false
|
50
92
|
version_requirements: !ruby/object:Gem::Requirement
|
51
93
|
requirements:
|
52
|
-
- - ~>
|
94
|
+
- - "~>"
|
53
95
|
- !ruby/object:Gem::Version
|
54
|
-
version: 1.
|
96
|
+
version: 1.2.0
|
55
97
|
- !ruby/object:Gem::Dependency
|
56
98
|
name: nokogiri
|
57
99
|
requirement: !ruby/object:Gem::Requirement
|
58
100
|
requirements:
|
59
|
-
- -
|
101
|
+
- - ">="
|
60
102
|
- !ruby/object:Gem::Version
|
61
103
|
version: 1.5.0
|
62
104
|
type: :runtime
|
63
105
|
prerelease: false
|
64
106
|
version_requirements: !ruby/object:Gem::Requirement
|
65
107
|
requirements:
|
66
|
-
- -
|
108
|
+
- - ">="
|
67
109
|
- !ruby/object:Gem::Version
|
68
110
|
version: 1.5.0
|
69
111
|
description: Generates ODF files, given a template (.odt) and data, replacing tags
|
@@ -72,7 +114,8 @@ executables: []
|
|
72
114
|
extensions: []
|
73
115
|
extra_rdoc_files: []
|
74
116
|
files:
|
75
|
-
- .gitignore
|
117
|
+
- ".gitignore"
|
118
|
+
- ".rspec"
|
76
119
|
- Gemfile
|
77
120
|
- MIT-LICENSE
|
78
121
|
- Manifest
|
@@ -80,7 +123,6 @@ files:
|
|
80
123
|
- Rakefile
|
81
124
|
- lib/odf-report.rb
|
82
125
|
- lib/odf-report/field.rb
|
83
|
-
- lib/odf-report/fields.rb
|
84
126
|
- lib/odf-report/file.rb
|
85
127
|
- lib/odf-report/images.rb
|
86
128
|
- lib/odf-report/nested.rb
|
@@ -91,8 +133,19 @@ files:
|
|
91
133
|
- lib/odf-report/text.rb
|
92
134
|
- lib/odf-report/version.rb
|
93
135
|
- odf-report.gemspec
|
94
|
-
-
|
95
|
-
-
|
136
|
+
- spec/fields_spec.rb
|
137
|
+
- spec/result/tables.rb
|
138
|
+
- spec/spec_helper.rb
|
139
|
+
- spec/specs.odt
|
140
|
+
- spec/tables_spec.rb
|
141
|
+
- test/fields_inside_text_test.rb
|
142
|
+
- test/nested_tables_test.rb
|
143
|
+
- test/sections_test.rb
|
144
|
+
- test/sub_sections_test.rb
|
145
|
+
- test/table_headers_test.rb
|
146
|
+
- test/tables_test.rb
|
147
|
+
- test/templates/piriapolis.jpg
|
148
|
+
- test/templates/rails.png
|
96
149
|
- test/templates/test_fields_inside_text.odt
|
97
150
|
- test/templates/test_nested_tables.odt
|
98
151
|
- test/templates/test_sections.odt
|
@@ -100,13 +153,7 @@ files:
|
|
100
153
|
- test/templates/test_table_headers.odt
|
101
154
|
- test/templates/test_tables.odt
|
102
155
|
- test/templates/test_text.odt
|
103
|
-
- test/
|
104
|
-
- test/test_nested_tables.rb
|
105
|
-
- test/test_sections.rb
|
106
|
-
- test/test_sub_sections.rb
|
107
|
-
- test/test_table_headers.rb
|
108
|
-
- test/test_tables.rb
|
109
|
-
- test/test_text.rb
|
156
|
+
- test/text_test.rb
|
110
157
|
homepage: http://sandrods.github.com/odf-report/
|
111
158
|
licenses: []
|
112
159
|
metadata: {}
|
@@ -116,23 +163,34 @@ require_paths:
|
|
116
163
|
- lib
|
117
164
|
required_ruby_version: !ruby/object:Gem::Requirement
|
118
165
|
requirements:
|
119
|
-
- -
|
166
|
+
- - ">="
|
120
167
|
- !ruby/object:Gem::Version
|
121
168
|
version: '0'
|
122
169
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
123
170
|
requirements:
|
124
|
-
- -
|
171
|
+
- - ">="
|
125
172
|
- !ruby/object:Gem::Version
|
126
173
|
version: '0'
|
127
174
|
requirements: []
|
128
175
|
rubyforge_project:
|
129
|
-
rubygems_version: 2.
|
176
|
+
rubygems_version: 2.6.12
|
130
177
|
signing_key:
|
131
178
|
specification_version: 4
|
132
179
|
summary: Generates ODF files, given a template (.odt) and data, replacing tags
|
133
180
|
test_files:
|
134
|
-
-
|
135
|
-
-
|
181
|
+
- spec/fields_spec.rb
|
182
|
+
- spec/result/tables.rb
|
183
|
+
- spec/spec_helper.rb
|
184
|
+
- spec/specs.odt
|
185
|
+
- spec/tables_spec.rb
|
186
|
+
- test/fields_inside_text_test.rb
|
187
|
+
- test/nested_tables_test.rb
|
188
|
+
- test/sections_test.rb
|
189
|
+
- test/sub_sections_test.rb
|
190
|
+
- test/table_headers_test.rb
|
191
|
+
- test/tables_test.rb
|
192
|
+
- test/templates/piriapolis.jpg
|
193
|
+
- test/templates/rails.png
|
136
194
|
- test/templates/test_fields_inside_text.odt
|
137
195
|
- test/templates/test_nested_tables.odt
|
138
196
|
- test/templates/test_sections.odt
|
@@ -140,11 +198,4 @@ test_files:
|
|
140
198
|
- test/templates/test_table_headers.odt
|
141
199
|
- test/templates/test_tables.odt
|
142
200
|
- test/templates/test_text.odt
|
143
|
-
- test/
|
144
|
-
- test/test_nested_tables.rb
|
145
|
-
- test/test_sections.rb
|
146
|
-
- test/test_sub_sections.rb
|
147
|
-
- test/test_table_headers.rb
|
148
|
-
- test/test_tables.rb
|
149
|
-
- test/test_text.rb
|
150
|
-
has_rdoc: false
|
201
|
+
- test/text_test.rb
|
data/lib/odf-report/fields.rb
DELETED
@@ -1,40 +0,0 @@
|
|
1
|
-
module ODFReport
|
2
|
-
|
3
|
-
module Fields
|
4
|
-
|
5
|
-
def field_replace!(_node, data_item = nil)
|
6
|
-
|
7
|
-
txt = _node.inner_html
|
8
|
-
|
9
|
-
@fields.each do |f|
|
10
|
-
val = f.get_value(data_item)
|
11
|
-
txt.gsub!(f.to_placeholder, sanitize(val))
|
12
|
-
end
|
13
|
-
|
14
|
-
_node.inner_html = txt
|
15
|
-
|
16
|
-
end
|
17
|
-
|
18
|
-
private
|
19
|
-
|
20
|
-
def sanitize(txt)
|
21
|
-
txt = html_escape(txt)
|
22
|
-
txt = odf_linebreak(txt)
|
23
|
-
txt
|
24
|
-
end
|
25
|
-
|
26
|
-
HTML_ESCAPE = { '&' => '&', '>' => '>', '<' => '<', '"' => '"' }
|
27
|
-
|
28
|
-
def html_escape(s)
|
29
|
-
return "" unless s
|
30
|
-
s.to_s.gsub(/[&"><]/) { |special| HTML_ESCAPE[special] }
|
31
|
-
end
|
32
|
-
|
33
|
-
def odf_linebreak(s)
|
34
|
-
return "" unless s
|
35
|
-
s.to_s.gsub("\n", "<text:line-break/>")
|
36
|
-
end
|
37
|
-
|
38
|
-
end
|
39
|
-
|
40
|
-
end
|
@@ -1,37 +0,0 @@
|
|
1
|
-
# coding: UTF-8
|
2
|
-
require '../lib/odf-report'
|
3
|
-
require 'ostruct'
|
4
|
-
require 'faker'
|
5
|
-
|
6
|
-
html = <<-HTML
|
7
|
-
<p>Uniquely promote installed base total linkage via emerging deliverables com [EVENTO_TEXTO_CARTA], unleash cross-media collaboration <strong>[FUNCAO]</strong> [EVENTO_NOME].</p>
|
8
|
-
|
9
|
-
<p>Progressively fashion diverse portals nº <strong>[NUMERO_SECAO]</strong> do local <strong>[NOME_LOCAL]</strong>, situado na <strong>[ENDERECO_LOCAL]</strong> methodologies </p>
|
10
|
-
|
11
|
-
<p>Assertively orchestrate market positioning bandwidth rather than fully researched total linkage. Interactively architect granular e-markets via clicks-and-mortar ROI. Uniquely aggregate compelling.</p>
|
12
|
-
|
13
|
-
<p>Compellingly facilitate functionalized interfaces before wireless models. Compellingly morph parallel systems whereas combinado com o artigo 63, § 2º da Lei nº 9.504/97, abaixo mencionados:</p>
|
14
|
-
|
15
|
-
<p style="margin-left:1.76cm;"><em>Art. 120 - § 1º Compellingly envisioneer high standards in niches without best-of-breed leadership. Phosfluorescently unleash go forward methodologies after bricks-and-clicks niches. Authoritatively. </em></p>
|
16
|
-
|
17
|
-
<p style="margin-left:1.76cm;"><em>Art. 63 - [...] § 2º Enthusiastically parallel task user friendly functionalities whereas exceptional leadership. </em></p>
|
18
|
-
|
19
|
-
<p>Credibly enable multifunctional strategic theme areas and premium communities.</p>
|
20
|
-
|
21
|
-
HTML
|
22
|
-
|
23
|
-
|
24
|
-
report = ODFReport::Report.new("./templates/test_fields_inside_text.odt") do |r|
|
25
|
-
|
26
|
-
r.add_text(:body, html)
|
27
|
-
|
28
|
-
r.add_field('EVENTO_TEXTO_CARTA', Faker::Lorem.sentence)
|
29
|
-
r.add_field('FUNCAO', Faker::Lorem.word)
|
30
|
-
r.add_field('EVENTO_NOME', Faker::Company.name)
|
31
|
-
|
32
|
-
r.add_field('NUMERO_SECAO', Faker::Number.number(3))
|
33
|
-
r.add_field('NOME_LOCAL', Faker::Company.name)
|
34
|
-
r.add_field('ENDERECO_LOCAL', Faker::Address.street_address)
|
35
|
-
end
|
36
|
-
|
37
|
-
report.generate("./result/test_fields_inside_text.odt")
|