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
data/test/test_nested_tables.rb
DELETED
@@ -1,39 +0,0 @@
|
|
1
|
-
require '../lib/odf-report'
|
2
|
-
require 'ostruct'
|
3
|
-
|
4
|
-
class Item
|
5
|
-
attr_accessor :name, :sid, :children
|
6
|
-
def initialize(_name, _sid, _children=[])
|
7
|
-
@name=_name
|
8
|
-
@sid=_sid
|
9
|
-
@children=_children
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
13
|
-
items = []
|
14
|
-
items << Item.new("LOST", '007', %w(sawyer juliet hurley locke jack freckles))
|
15
|
-
items << Item.new("ALIAS", '302', %w(sidney sloane jack michael marshal))
|
16
|
-
items << Item.new("GREY'S ANATOMY", '220', %w(meredith christina izzie alex george))
|
17
|
-
items << Item.new("BREAKING BAD", '556', %w(pollos gus mike heisenberg))
|
18
|
-
|
19
|
-
report = ODFReport::Report.new("./templates/test_nested_tables.odt") do |r|
|
20
|
-
|
21
|
-
r.add_field("TAG_01", Time.now)
|
22
|
-
r.add_field("TAG_02", "TAG-2 -> New tag")
|
23
|
-
|
24
|
-
r.add_table("TABLE_MAIN", items) do |s|
|
25
|
-
|
26
|
-
s.add_column('NAME') { |i| i.name }
|
27
|
-
|
28
|
-
s.add_column('SID', :sid)
|
29
|
-
|
30
|
-
s.add_table('TABLE_S1', :children, :header=>true) do |t|
|
31
|
-
t.add_column('NAME1') { |item| "-> #{item}" }
|
32
|
-
t.add_column('INV') { |item| item.to_s.reverse.upcase }
|
33
|
-
end
|
34
|
-
|
35
|
-
end
|
36
|
-
|
37
|
-
end
|
38
|
-
|
39
|
-
report.generate("./result/test_nested_tables.odt")
|
data/test/test_sections.rb
DELETED
@@ -1,39 +0,0 @@
|
|
1
|
-
require '../lib/odf-report'
|
2
|
-
require 'ostruct'
|
3
|
-
|
4
|
-
class Item
|
5
|
-
attr_accessor :name, :sid, :children
|
6
|
-
def initialize(_name, _sid, _children=[])
|
7
|
-
@name=_name
|
8
|
-
@sid=_sid
|
9
|
-
@children=_children
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
13
|
-
items = []
|
14
|
-
items << Item.new("LOST", '007', %w(sawyer juliet hurley locke jack freckles))
|
15
|
-
items << Item.new("ALIAS", '302', %w(sidney sloane jack michael marshal))
|
16
|
-
items << Item.new("GREY'S ANATOMY", '220', %w(meredith christina izzie alex george))
|
17
|
-
items << Item.new("BREAKING BAD", '556', %w(pollos gus mike heisenberg))
|
18
|
-
|
19
|
-
report = ODFReport::Report.new("./templates/test_sections.odt") do |r|
|
20
|
-
|
21
|
-
r.add_field("TAG_01", Time.now)
|
22
|
-
r.add_field("TAG_02", "TAG-2 -> New tag")
|
23
|
-
|
24
|
-
r.add_section("SECTION_01", items) do |s|
|
25
|
-
|
26
|
-
s.add_field('NAME') { |i| i.name }
|
27
|
-
|
28
|
-
s.add_field('SID', :sid)
|
29
|
-
|
30
|
-
s.add_table('TABLE_S1', :children, :header=>true) do |t|
|
31
|
-
t.add_column('NAME1') { |item| "-> #{item}" }
|
32
|
-
t.add_column('INV') { |item| item.to_s.reverse.upcase }
|
33
|
-
end
|
34
|
-
|
35
|
-
end
|
36
|
-
|
37
|
-
end
|
38
|
-
|
39
|
-
report.generate("./result/test_sections.odt")
|
data/test/test_sub_sections.rb
DELETED
@@ -1,57 +0,0 @@
|
|
1
|
-
require '../lib/odf-report'
|
2
|
-
require 'ostruct'
|
3
|
-
|
4
|
-
class Item
|
5
|
-
attr_accessor :name, :sid, :children, :subs
|
6
|
-
def initialize(_name, _sid, _children=[], _subs=[])
|
7
|
-
@name=_name
|
8
|
-
@sid=_sid
|
9
|
-
@children=_children
|
10
|
-
@subs=_subs
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
subs1 = []
|
15
|
-
subs1 << Item.new("SAWYER", 1, %w(Your bones don't break))
|
16
|
-
subs1 << Item.new("HURLEY", 2, %w(Your cells react to bacteria and viruses))
|
17
|
-
subs1 << Item.new("LOCKE", 3, %W(Do you see any Teletubbies in here))
|
18
|
-
|
19
|
-
subs2 = []
|
20
|
-
subs2 << Item.new("SLOANE", 21, %w(Praesent hendrerit lectus sit amet))
|
21
|
-
subs2 << Item.new("JACK", 22, %w(Donec nec est eget dolor laoreet))
|
22
|
-
subs2 << Item.new("MICHAEL", 23, %W(Integer elementum massa at nulla placerat varius))
|
23
|
-
|
24
|
-
items = []
|
25
|
-
items << Item.new("LOST", '007', %w(sawyer juliet hurley locke jack freckles), subs1)
|
26
|
-
items << Item.new("ALIAS", '302', %w(sidney sloane jack michael marshal))
|
27
|
-
items << Item.new("GREY'S ANATOMY", '220', %w(meredith christina izzie alex george), subs2)
|
28
|
-
items << Item.new("BREAKING BAD", '556', %w(pollos gus mike heisenberg))
|
29
|
-
|
30
|
-
report = ODFReport::Report.new("./templates/test_sub_sections.odt") do |r|
|
31
|
-
|
32
|
-
r.add_field("TAG_01", Time.now)
|
33
|
-
r.add_field("TAG_02", "TAG-2 -> New tag")
|
34
|
-
|
35
|
-
r.add_section("SECTION_01", items) do |s|
|
36
|
-
|
37
|
-
s.add_field('NAME') { |i| i.name }
|
38
|
-
|
39
|
-
s.add_field('SID', :sid)
|
40
|
-
|
41
|
-
s.add_table('TABLE_S1', :children, :header=>true) do |t|
|
42
|
-
t.add_column('NAME1') { |item| "-> #{item}" }
|
43
|
-
t.add_column('INV') { |item| item.to_s.reverse.upcase }
|
44
|
-
end
|
45
|
-
|
46
|
-
s.add_section('SUB_01', :subs) do |r|
|
47
|
-
r.add_field("FIRST_NAME", :name)
|
48
|
-
r.add_table('IPSUM_TABLE', :children, :header => true) do |t|
|
49
|
-
t.add_column('IPSUM_ITEM') { |i| i }
|
50
|
-
end
|
51
|
-
end
|
52
|
-
|
53
|
-
end
|
54
|
-
|
55
|
-
end
|
56
|
-
|
57
|
-
report.generate("./result/test_sub_sections.odt")
|
data/test/test_table_headers.rb
DELETED
@@ -1,39 +0,0 @@
|
|
1
|
-
require '../lib/odf-report'
|
2
|
-
require 'ostruct'
|
3
|
-
require 'faker'
|
4
|
-
|
5
|
-
class Item
|
6
|
-
attr_accessor :name, :mail
|
7
|
-
def initialize(_name, _mail)
|
8
|
-
@name=_name
|
9
|
-
@mail=_mail
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
13
|
-
items = []
|
14
|
-
50.times do
|
15
|
-
|
16
|
-
items << Item.new(Faker::Name.name, Faker::Internet.email)
|
17
|
-
|
18
|
-
end
|
19
|
-
|
20
|
-
report = ODFReport::Report.new("./templates/test_table_headers.odt") do |r|
|
21
|
-
|
22
|
-
r.add_table("TABLE_01", items, :header => true) do |s|
|
23
|
-
s.add_column(:name)
|
24
|
-
s.add_column(:mail)
|
25
|
-
end
|
26
|
-
|
27
|
-
r.add_table("TABLE_02", items, :header => true) do |s|
|
28
|
-
s.add_column(:name)
|
29
|
-
s.add_column(:mail)
|
30
|
-
end
|
31
|
-
|
32
|
-
r.add_table("TABLE_03", items) do |s|
|
33
|
-
s.add_column(:name)
|
34
|
-
s.add_column(:mail)
|
35
|
-
end
|
36
|
-
|
37
|
-
end
|
38
|
-
|
39
|
-
report.generate("./result/test_table_headers.odt")
|
data/test/test_tables.rb
DELETED
@@ -1,62 +0,0 @@
|
|
1
|
-
require '../lib/odf-report'
|
2
|
-
require 'ostruct'
|
3
|
-
|
4
|
-
col1 = []
|
5
|
-
(1..40).each do |i|
|
6
|
-
col1 << {:name=>"name #{i}", :idx=>i, :address=>"this is address #{i}"}
|
7
|
-
end
|
8
|
-
|
9
|
-
|
10
|
-
col2 = []
|
11
|
-
col2 << OpenStruct.new({:name=>"josh harnet", :idx=>"02", :address=>"testing <&> ", :phone=>99025668, :zip=>"90420-002"})
|
12
|
-
col2 << OpenStruct.new({:name=>"sandro duarte", :idx=>"45", :address=>"address with &", :phone=>88774451, :zip=>"90490-002"})
|
13
|
-
col2 << OpenStruct.new({:name=>"ellen bicca", :idx=>"77", :address=>"<address with escaped html>", :phone=>77025668, :zip=>"94420-002"})
|
14
|
-
col2 << OpenStruct.new({:name=>"luiz garcia", 'idx'=>"88", :address=>"address with\nlinebreak", :phone=>27025668, :zip=>"94520-025"})
|
15
|
-
|
16
|
-
col3, col4, col5 = [], [], []
|
17
|
-
|
18
|
-
report = ODFReport::Report.new("./templates/test_tables.odt") do |r|
|
19
|
-
|
20
|
-
r.add_field("HEADER_FIELD", "This field was in the HEADER")
|
21
|
-
|
22
|
-
r.add_field("TAG_01", "New tag")
|
23
|
-
r.add_field("TAG_02", "TAG-2 -> New tag")
|
24
|
-
|
25
|
-
r.add_table("TABLE_01", col1, :header=>true) do |t|
|
26
|
-
t.add_column(:field_01, :idx)
|
27
|
-
t.add_column(:field_02, :name)
|
28
|
-
t.add_column(:address)
|
29
|
-
end
|
30
|
-
|
31
|
-
r.add_table("TABLE_02", col2) do |t|
|
32
|
-
t.add_column(:field_04, :idx)
|
33
|
-
t.add_column(:field_05, :name)
|
34
|
-
t.add_column(:field_06, 'address')
|
35
|
-
t.add_column(:field_07, :phone)
|
36
|
-
t.add_column(:field_08, :zip)
|
37
|
-
end
|
38
|
-
|
39
|
-
r.add_table("TABLE_03", col3, :header=>true) do |t|
|
40
|
-
t.add_column(:field_01, :idx)
|
41
|
-
t.add_column(:field_02, :name)
|
42
|
-
t.add_column(:field_03, :address)
|
43
|
-
end
|
44
|
-
|
45
|
-
r.add_table("TABLE_04", col4, :header=>true, :skip_if_empty => true) do |t|
|
46
|
-
t.add_column(:field_01, :idx)
|
47
|
-
t.add_column(:field_02, :name)
|
48
|
-
t.add_column(:field_03, :address)
|
49
|
-
end
|
50
|
-
|
51
|
-
r.add_table("TABLE_05", col5) do |t|
|
52
|
-
t.add_column(:field_01, :idx)
|
53
|
-
t.add_column(:field_02, :name)
|
54
|
-
t.add_column(:field_03, :address)
|
55
|
-
end
|
56
|
-
|
57
|
-
r.add_image("graphics1", File.join(Dir.pwd, 'piriapolis.jpg'))
|
58
|
-
r.add_image("graphics2", File.join(Dir.pwd, 'rails.png'))
|
59
|
-
|
60
|
-
end
|
61
|
-
|
62
|
-
report.generate("./result/test_tables.odt")
|
data/test/test_text.rb
DELETED
@@ -1,48 +0,0 @@
|
|
1
|
-
require '../lib/odf-report'
|
2
|
-
require 'ostruct'
|
3
|
-
require 'faker'
|
4
|
-
|
5
|
-
class Item
|
6
|
-
attr_accessor :name, :text
|
7
|
-
def initialize(_name, _text)
|
8
|
-
@name=_name
|
9
|
-
@text=_text
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
13
|
-
items = []
|
14
|
-
4.times do
|
15
|
-
|
16
|
-
text = <<-HTML
|
17
|
-
<p>#{Faker::Lorem.sentence} <em>#{Faker::Lorem.sentence}</em> #{Faker::Lorem.sentence}</p>
|
18
|
-
<p>#{Faker::Lorem.sentence} <strong>#{Faker::Lorem.paragraph}</strong> #{Faker::Lorem.paragraph}</p>
|
19
|
-
<p>#{Faker::Lorem.paragraph}</p>
|
20
|
-
<blockquote>
|
21
|
-
<p>#{Faker::Lorem.paragraph(10)}</p>
|
22
|
-
<p>#{Faker::Lorem.paragraph}</p>
|
23
|
-
</blockquote>
|
24
|
-
<p style="margin: 150px">#{Faker::Lorem.paragraph(15)}</p>
|
25
|
-
<p>#{Faker::Lorem.paragraph}</p>
|
26
|
-
HTML
|
27
|
-
|
28
|
-
items << Item.new(Faker::Name.name, text)
|
29
|
-
|
30
|
-
end
|
31
|
-
|
32
|
-
item = items.pop
|
33
|
-
|
34
|
-
report = ODFReport::Report.new("./templates/test_text.odt") do |r|
|
35
|
-
|
36
|
-
r.add_field("TAG_01", Faker::Company.name)
|
37
|
-
r.add_field("TAG_02", Faker::Company.catch_phrase)
|
38
|
-
|
39
|
-
r.add_text(:main_text, item.text)
|
40
|
-
|
41
|
-
r.add_section("SECTION_01", items) do |s|
|
42
|
-
s.add_field(:name)
|
43
|
-
s.add_text(:text)
|
44
|
-
end
|
45
|
-
|
46
|
-
end
|
47
|
-
|
48
|
-
report.generate("./result/test_text.odt")
|