ruport 1.6.3 → 1.8.0
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/AUTHORS +11 -0
- data/CHANGELOG.md +38 -0
- data/HACKING +1 -17
- data/README.md +97 -0
- data/Rakefile +9 -50
- data/examples/add_row_table.rb +46 -0
- data/examples/data/wine.csv +255 -0
- data/examples/pdf_grouping.rb +39 -0
- data/examples/pdf_table.rb +28 -0
- data/examples/pdf_table_from_csv.rb +26 -0
- data/examples/pdf_table_prawn.rb +30 -0
- data/examples/pdf_table_simple.rb +13 -0
- data/examples/row_renderer.rb +1 -1
- data/examples/simple_pdf_lines.rb +1 -1
- data/examples/trac_ticket_status.rb +1 -1
- data/lib/ruport/controller.rb +17 -21
- data/lib/ruport/data/feeder.rb +2 -2
- data/lib/ruport/data/grouping.rb +8 -8
- data/lib/ruport/data/record.rb +4 -4
- data/lib/ruport/data/table.rb +318 -206
- data/lib/ruport/formatter/csv.rb +6 -7
- data/lib/ruport/formatter/html.rb +13 -11
- data/lib/ruport/formatter/markdown.rb +105 -0
- data/lib/ruport/formatter/prawn_pdf.rb +159 -0
- data/lib/ruport/formatter/template.rb +1 -1
- data/lib/ruport/formatter/text.rb +1 -1
- data/lib/ruport/formatter.rb +54 -54
- data/lib/ruport/version.rb +1 -1
- data/lib/ruport.rb +7 -23
- data/test/controller_test.rb +201 -225
- data/test/csv_formatter_test.rb +36 -36
- data/test/data_feeder_test.rb +64 -64
- data/test/expected_outputs/prawn_pdf_formatter/pdf_basic.pdf.test +265 -0
- data/test/grouping_test.rb +103 -102
- data/test/helpers.rb +29 -10
- data/test/html_formatter_test.rb +46 -46
- data/test/markdown_formatter_test.rb +142 -0
- data/test/prawn_pdf_formatter_test.rb +108 -0
- data/test/record_test.rb +91 -91
- data/test/samples/sales.csv +21 -0
- data/test/table_pivot_test.rb +77 -26
- data/test/table_test.rb +376 -354
- data/test/template_test.rb +13 -13
- data/test/text_formatter_test.rb +52 -52
- data/util/bench/data/table/bench_column_manip.rb +0 -1
- data/util/bench/data/table/bench_dup.rb +0 -1
- data/util/bench/data/table/bench_init.rb +1 -2
- data/util/bench/data/table/bench_manip.rb +0 -1
- data/util/bench/formatter/bench_csv.rb +0 -1
- data/util/bench/formatter/bench_html.rb +0 -1
- data/util/bench/formatter/bench_pdf.rb +0 -1
- data/util/bench/formatter/bench_text.rb +0 -1
- metadata +131 -82
- data/README +0 -114
- data/lib/ruport/formatter/pdf.rb +0 -591
- data/test/pdf_formatter_test.rb +0 -354
data/test/template_test.rb
CHANGED
@@ -1,31 +1,31 @@
|
|
1
1
|
#!/usr/bin/env ruby -w
|
2
|
-
require File.join(File.expand_path(File.dirname(__FILE__)), "helpers")
|
2
|
+
require File.join(File.expand_path(File.dirname(__FILE__)), "helpers")
|
3
|
+
|
4
|
+
class TemplateTest < Minitest::Test
|
3
5
|
|
4
|
-
class TemplateTest < Test::Unit::TestCase
|
5
|
-
|
6
6
|
def setup
|
7
7
|
@template_class = Ruport::Formatter::Template.dup
|
8
8
|
end
|
9
|
-
|
9
|
+
|
10
10
|
def teardown
|
11
11
|
Ruport::Formatter::Template.instance_variable_set(:@templates, nil)
|
12
12
|
end
|
13
|
-
|
13
|
+
|
14
14
|
def test_template_should_exist
|
15
15
|
@template_class.create(:foo)
|
16
|
-
assert_instance_of @template_class,
|
16
|
+
assert_instance_of @template_class,
|
17
17
|
@template_class[:foo]
|
18
|
-
end
|
19
|
-
|
18
|
+
end
|
19
|
+
|
20
20
|
def test_template_creation_yields_an_options_object
|
21
21
|
@template_class.create(:foo) do |template|
|
22
22
|
template.page_format = { :layout => :landscape,
|
23
23
|
:paper_size => :letter }
|
24
24
|
end
|
25
25
|
assert_equal :landscape, @template_class[:foo].page_format[:layout]
|
26
|
-
assert_equal :letter, @template_class[:foo].page_format[:paper_size]
|
26
|
+
assert_equal :letter, @template_class[:foo].page_format[:paper_size]
|
27
27
|
end
|
28
|
-
|
28
|
+
|
29
29
|
def test_create_derived_template
|
30
30
|
Ruport::Formatter::Template.create(:foo) do |template|
|
31
31
|
template.page_format = { :layout => :landscape,
|
@@ -35,14 +35,14 @@ class TemplateTest < Test::Unit::TestCase
|
|
35
35
|
assert_equal :landscape,
|
36
36
|
Ruport::Formatter::Template[:bar].page_format[:layout]
|
37
37
|
assert_equal :letter,
|
38
|
-
Ruport::Formatter::Template[:bar].page_format[:paper_size]
|
38
|
+
Ruport::Formatter::Template[:bar].page_format[:paper_size]
|
39
39
|
end
|
40
|
-
|
40
|
+
|
41
41
|
def test_default_template
|
42
42
|
assert_nil Ruport::Formatter::Template.default
|
43
43
|
Ruport::Formatter::Template.create(:default)
|
44
44
|
assert_equal Ruport::Formatter::Template[:default],
|
45
45
|
Ruport::Formatter::Template.default
|
46
46
|
end
|
47
|
-
|
47
|
+
|
48
48
|
end
|
data/test/text_formatter_test.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
#!/usr/bin/env ruby -w
|
2
2
|
require File.join(File.expand_path(File.dirname(__FILE__)), "helpers")
|
3
3
|
|
4
|
-
class TestRenderTextTable < Test
|
5
|
-
|
4
|
+
class TestRenderTextTable < Minitest::Test
|
5
|
+
|
6
6
|
def setup
|
7
7
|
Ruport::Formatter::Template.create(:simple) do |format|
|
8
8
|
format.table = {
|
@@ -22,67 +22,67 @@ class TestRenderTextTable < Test::Unit::TestCase
|
|
22
22
|
|
23
23
|
def test_basic
|
24
24
|
tf = "+-------+\n"
|
25
|
-
|
26
|
-
a = Table([], :data => [[1,2],[3,4]]).to_text
|
25
|
+
|
26
|
+
a = Ruport.Table([], :data => [[1,2],[3,4]]).to_text
|
27
27
|
assert_equal("#{tf}| 1 | 2 |\n| 3 | 4 |\n#{tf}",a)
|
28
28
|
|
29
|
-
a = Table(%w[a b], :data => [[1,2],[3,4]]).to_text
|
29
|
+
a = Ruport.Table(%w[a b], :data => [[1,2],[3,4]]).to_text
|
30
30
|
assert_equal("#{tf}| a | b |\n#{tf}| 1 | 2 |\n| 3 | 4 |\n#{tf}", a)
|
31
31
|
end
|
32
|
-
|
32
|
+
|
33
33
|
def test_centering
|
34
|
-
tf = "+---------+\n"
|
34
|
+
tf = "+---------+\n"
|
35
35
|
|
36
|
-
a = Table([], :data => [[1,2],[300,4]])
|
36
|
+
a = Ruport.Table([], :data => [[1,2],[300,4]])
|
37
37
|
assert_equal( "#{tf}| 1 | 2 |\n| 300 | 4 |\n#{tf}",
|
38
38
|
a.to_text(:alignment => :center) )
|
39
39
|
|
40
40
|
tf = "+------------+\n"
|
41
|
-
a.column_names = %w[a bark]
|
41
|
+
a.column_names = %w[a bark]
|
42
42
|
assert_equal("#{tf}| a | bark |\n#{tf}| 1 | 2 |\n"+
|
43
|
-
"| 300 | 4 |\n#{tf}", a.to_text(:alignment => :center) )
|
43
|
+
"| 300 | 4 |\n#{tf}", a.to_text(:alignment => :center) )
|
44
44
|
end
|
45
45
|
|
46
46
|
def test_justified
|
47
47
|
tf = "+----------+\n"
|
48
|
-
a = Table([], :data => [[1,'Z'],[300,'BB']])
|
49
|
-
|
48
|
+
a = Ruport.Table([], :data => [[1,'Z'],[300,'BB']])
|
49
|
+
|
50
50
|
# justified alignment can be set explicitly
|
51
|
-
assert_equal "#{tf}| 1 | Z |\n| 300 | BB |\n#{tf}",
|
52
|
-
a.to_text(:alignment => :justified)
|
53
|
-
|
54
|
-
# justified alignment is also default
|
55
|
-
assert_equal "#{tf}| 1 | Z |\n| 300 | BB |\n#{tf}", a.to_s
|
51
|
+
assert_equal "#{tf}| 1 | Z |\n| 300 | BB |\n#{tf}",
|
52
|
+
a.to_text(:alignment => :justified)
|
53
|
+
|
54
|
+
# justified alignment is also default
|
55
|
+
assert_equal "#{tf}| 1 | Z |\n| 300 | BB |\n#{tf}", a.to_s
|
56
56
|
end
|
57
57
|
|
58
|
-
def test_wrapping
|
59
|
-
a = Table([], :data => [[1,2],[300,4]]).to_text(:table_width => 10)
|
58
|
+
def test_wrapping
|
59
|
+
a = Ruport.Table([], :data => [[1,2],[300,4]]).to_text(:table_width => 10)
|
60
60
|
assert_equal("+------->>\n| 1 | >>\n| 300 | >>\n+------->>\n",a)
|
61
|
-
end
|
62
|
-
|
61
|
+
end
|
62
|
+
|
63
63
|
def test_ignore_wrapping
|
64
|
-
a = Table([], :data => [[1,2],[300,4]]).to_text(:table_width => 10,
|
64
|
+
a = Ruport.Table([], :data => [[1,2],[300,4]]).to_text(:table_width => 10,
|
65
65
|
:ignore_table_width => true )
|
66
66
|
assert_equal("+---------+\n| 1 | 2 |\n| 300 | 4 |\n+---------+\n",a)
|
67
|
-
end
|
68
|
-
|
67
|
+
end
|
68
|
+
|
69
69
|
def test_render_empty_table
|
70
|
-
|
71
|
-
|
70
|
+
assert_raises(Ruport::FormatterError) { Ruport.Table([]).to_text }
|
71
|
+
Ruport.Table(%w[a b c]).to_text
|
72
72
|
|
73
|
-
a = Table(%w[a b c]).to_text
|
73
|
+
a = Ruport.Table(%w[a b c]).to_text
|
74
74
|
expected = "+-----------+\n"+
|
75
75
|
"| a | b | c |\n"+
|
76
76
|
"+-----------+\n"
|
77
77
|
assert_equal expected, a
|
78
78
|
end
|
79
|
-
|
79
|
+
|
80
80
|
def test_render_with_template
|
81
81
|
formatter = Ruport::Formatter::Text.new
|
82
82
|
formatter.options = Ruport::Controller::Options.new
|
83
83
|
formatter.options.template = :simple
|
84
84
|
formatter.apply_template
|
85
|
-
|
85
|
+
|
86
86
|
assert_equal false, formatter.options.show_table_headers
|
87
87
|
assert_equal 50, formatter.options.table_width
|
88
88
|
assert_equal true, formatter.options.ignore_table_width
|
@@ -92,10 +92,10 @@ class TestRenderTextTable < Test::Unit::TestCase
|
|
92
92
|
|
93
93
|
assert_equal false, formatter.options.show_group_headers
|
94
94
|
end
|
95
|
-
|
95
|
+
|
96
96
|
def test_options_hashes_override_template
|
97
97
|
opts = nil
|
98
|
-
table = Table(%w[a b c])
|
98
|
+
table = Ruport.Table(%w[a b c])
|
99
99
|
table.to_text(
|
100
100
|
:template => :simple,
|
101
101
|
:table_format => {
|
@@ -113,7 +113,7 @@ class TestRenderTextTable < Test::Unit::TestCase
|
|
113
113
|
) do |r|
|
114
114
|
opts = r.options
|
115
115
|
end
|
116
|
-
|
116
|
+
|
117
117
|
assert_equal true, opts.show_table_headers
|
118
118
|
assert_equal 25, opts.table_width
|
119
119
|
assert_equal false, opts.ignore_table_width
|
@@ -126,7 +126,7 @@ class TestRenderTextTable < Test::Unit::TestCase
|
|
126
126
|
|
127
127
|
def test_individual_options_override_template
|
128
128
|
opts = nil
|
129
|
-
table = Table(%w[a b c])
|
129
|
+
table = Ruport.Table(%w[a b c])
|
130
130
|
table.to_text(
|
131
131
|
:template => :simple,
|
132
132
|
:show_table_headers => true,
|
@@ -138,7 +138,7 @@ class TestRenderTextTable < Test::Unit::TestCase
|
|
138
138
|
) do |r|
|
139
139
|
opts = r.options
|
140
140
|
end
|
141
|
-
|
141
|
+
|
142
142
|
assert_equal true, opts.show_table_headers
|
143
143
|
assert_equal 75, opts.table_width
|
144
144
|
assert_equal false, opts.ignore_table_width
|
@@ -148,21 +148,21 @@ class TestRenderTextTable < Test::Unit::TestCase
|
|
148
148
|
|
149
149
|
assert_equal true, opts.show_group_headers
|
150
150
|
end
|
151
|
-
|
151
|
+
|
152
152
|
# -- BUG TRAPS ------------------------------
|
153
153
|
|
154
154
|
def test_should_render_without_column_names
|
155
|
-
a = Table([], :data => [[1,2,3]]).to_text
|
155
|
+
a = Ruport.Table([], :data => [[1,2,3]]).to_text
|
156
156
|
expected = "+-----------+\n"+
|
157
157
|
"| 1 | 2 | 3 |\n"+
|
158
158
|
"+-----------+\n"
|
159
159
|
assert_equal(expected,a)
|
160
160
|
end
|
161
|
-
|
161
|
+
|
162
162
|
end
|
163
|
-
|
164
163
|
|
165
|
-
|
164
|
+
|
165
|
+
class TestRenderTextRow < Minitest::Test
|
166
166
|
|
167
167
|
def test_row_basic
|
168
168
|
actual = Ruport::Controller::Row.render_text(:data => [1,2,3])
|
@@ -170,9 +170,9 @@ class TestRenderTextRow < Test::Unit::TestCase
|
|
170
170
|
end
|
171
171
|
|
172
172
|
end
|
173
|
-
|
174
173
|
|
175
|
-
|
174
|
+
|
175
|
+
class TestRenderTextGroup < Minitest::Test
|
176
176
|
|
177
177
|
def test_render_text_group
|
178
178
|
group = Ruport::Data::Group.new(:name => 'test',
|
@@ -196,7 +196,7 @@ class TestRenderTextGroup < Test::Unit::TestCase
|
|
196
196
|
:data => [ %w[is this more],
|
197
197
|
%w[interesting red snapper]],
|
198
198
|
:column_names => %w[i hope so])
|
199
|
-
|
199
|
+
|
200
200
|
actual = Ruport::Controller::Group.render(:text, :data => group,
|
201
201
|
:show_table_headers => false )
|
202
202
|
expected = "test:\n\n"+
|
@@ -205,17 +205,17 @@ class TestRenderTextGroup < Test::Unit::TestCase
|
|
205
205
|
"| interesting | red | snapper |\n"+
|
206
206
|
"+------------------------------+\n"
|
207
207
|
assert_equal(expected, actual)
|
208
|
-
end
|
209
|
-
end
|
210
|
-
|
208
|
+
end
|
209
|
+
end
|
210
|
+
|
211
211
|
|
212
|
-
class TestRenderTextGrouping < Test
|
212
|
+
class TestRenderTextGrouping < Minitest::Test
|
213
213
|
|
214
214
|
def test_render_text_grouping
|
215
215
|
table = Ruport::Data::Table.new(:data => [ %w[is this more],
|
216
216
|
%w[interesting red snapper]],
|
217
217
|
:column_names => %w[i hope so])
|
218
|
-
grouping = Grouping(table, :by => "i")
|
218
|
+
grouping = Grouping(table, :by => "i", :order => :name)
|
219
219
|
|
220
220
|
actual = Ruport::Controller::Grouping.render(:text, :data => grouping)
|
221
221
|
expected = "interesting:\n\n"+
|
@@ -230,8 +230,8 @@ class TestRenderTextGrouping < Test::Unit::TestCase
|
|
230
230
|
"+-------------+\n"+
|
231
231
|
"| this | more |\n"+
|
232
232
|
"+-------------+\n\n"
|
233
|
-
assert_equal(expected, actual)
|
234
|
-
|
233
|
+
assert_equal(expected, actual)
|
234
|
+
|
235
235
|
actual = grouping.to_s
|
236
236
|
assert_equal(expected,actual)
|
237
237
|
end
|
@@ -240,7 +240,7 @@ class TestRenderTextGrouping < Test::Unit::TestCase
|
|
240
240
|
table = Ruport::Data::Table.new(:data => [ %w[is this more],
|
241
241
|
%w[interesting red snapper]],
|
242
242
|
:column_names => %w[i hope so])
|
243
|
-
grouping = Grouping(table, :by => "i")
|
243
|
+
grouping = Grouping(table, :by => "i", :order => :name)
|
244
244
|
|
245
245
|
actual = Ruport::Controller::Grouping.render(:text, :data => grouping,
|
246
246
|
:show_table_headers => false)
|
@@ -254,5 +254,5 @@ class TestRenderTextGrouping < Test::Unit::TestCase
|
|
254
254
|
"+-------------+\n\n"
|
255
255
|
assert_equal(expected, actual)
|
256
256
|
end
|
257
|
-
|
258
|
-
end
|
257
|
+
|
258
|
+
end
|
@@ -1,5 +1,4 @@
|
|
1
1
|
require "ruport"
|
2
|
-
require "enumerator"
|
3
2
|
require "rubygems"
|
4
3
|
require "ruport/util/bench"
|
5
4
|
|
@@ -62,6 +61,6 @@ bench_suite do
|
|
62
61
|
}
|
63
62
|
|
64
63
|
bench_case("FasterCSV Table loading", CSV_N) {
|
65
|
-
|
64
|
+
::CSV::Table.new(::CSV.read("util/bench/samples/tattle.csv"))
|
66
65
|
}
|
67
66
|
end
|
metadata
CHANGED
@@ -1,65 +1,92 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruport
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.8.0
|
5
5
|
platform: ruby
|
6
|
-
authors:
|
6
|
+
authors:
|
7
7
|
- Gregory Brown
|
8
8
|
- Mike Milner
|
9
9
|
- Andrew France
|
10
|
-
autorequire:
|
10
|
+
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
13
|
+
date: 2022-09-19 00:00:00.000000000 Z
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: prawn
|
17
|
+
requirement: !ruby/object:Gem::Requirement
|
18
|
+
requirements:
|
19
|
+
- - "~>"
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: 2.4.0
|
19
22
|
type: :runtime
|
20
|
-
|
21
|
-
version_requirements: !ruby/object:Gem::Requirement
|
22
|
-
requirements:
|
23
|
-
- - "
|
24
|
-
- !ruby/object:Gem::Version
|
25
|
-
version:
|
26
|
-
|
27
|
-
|
28
|
-
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
requirements:
|
26
|
+
- - "~>"
|
27
|
+
- !ruby/object:Gem::Version
|
28
|
+
version: 2.4.0
|
29
|
+
- !ruby/object:Gem::Dependency
|
30
|
+
name: prawn-table
|
31
|
+
requirement: !ruby/object:Gem::Requirement
|
32
|
+
requirements:
|
33
|
+
- - "~>"
|
34
|
+
- !ruby/object:Gem::Version
|
35
|
+
version: 0.2.0
|
29
36
|
type: :runtime
|
30
|
-
|
31
|
-
version_requirements: !ruby/object:Gem::Requirement
|
32
|
-
requirements:
|
33
|
-
- - "
|
34
|
-
- !ruby/object:Gem::Version
|
35
|
-
version:
|
36
|
-
|
37
|
-
|
37
|
+
prerelease: false
|
38
|
+
version_requirements: !ruby/object:Gem::Requirement
|
39
|
+
requirements:
|
40
|
+
- - "~>"
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: 0.2.0
|
43
|
+
- !ruby/object:Gem::Dependency
|
44
|
+
name: rake
|
45
|
+
requirement: !ruby/object:Gem::Requirement
|
46
|
+
requirements:
|
47
|
+
- - ">="
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: '0'
|
50
|
+
type: :development
|
51
|
+
prerelease: false
|
52
|
+
version_requirements: !ruby/object:Gem::Requirement
|
53
|
+
requirements:
|
54
|
+
- - ">="
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: '0'
|
57
|
+
description: |
|
58
|
+
Ruby Reports is a software library that aims to make the task of reporting
|
59
|
+
less tedious and painful. It provides tools for data acquisition,
|
60
|
+
database interaction, formatting, and parsing/munging.
|
38
61
|
email: gregory.t.brown@gmail.com
|
39
62
|
executables: []
|
40
|
-
|
41
63
|
extensions: []
|
42
|
-
|
43
|
-
|
44
|
-
- LICENSE
|
45
|
-
- README
|
46
|
-
files:
|
64
|
+
extra_rdoc_files: []
|
65
|
+
files:
|
47
66
|
- AUTHORS
|
67
|
+
- CHANGELOG.md
|
48
68
|
- COPYING
|
49
69
|
- HACKING
|
50
70
|
- LICENSE
|
51
|
-
- README
|
71
|
+
- README.md
|
52
72
|
- Rakefile
|
53
73
|
- examples/RWEmerson.jpg
|
74
|
+
- examples/add_row_table.rb
|
54
75
|
- examples/anon.rb
|
55
76
|
- examples/btree/commaleon/commaleon.rb
|
56
77
|
- examples/btree/commaleon/sample_data/ticket_count.csv
|
57
78
|
- examples/btree/commaleon/sample_data/ticket_count2.csv
|
58
79
|
- examples/centered_pdf_text_box.rb
|
59
80
|
- examples/data/tattle.dump
|
81
|
+
- examples/data/wine.csv
|
60
82
|
- examples/example.csv
|
61
83
|
- examples/line_plotter.rb
|
84
|
+
- examples/pdf_grouping.rb
|
62
85
|
- examples/pdf_report_with_common_base.rb
|
86
|
+
- examples/pdf_table.rb
|
87
|
+
- examples/pdf_table_from_csv.rb
|
88
|
+
- examples/pdf_table_prawn.rb
|
89
|
+
- examples/pdf_table_simple.rb
|
63
90
|
- examples/png_embed.rb
|
64
91
|
- examples/roadmap.png
|
65
92
|
- examples/row_renderer.rb
|
@@ -81,7 +108,8 @@ files:
|
|
81
108
|
- lib/ruport/formatter.rb
|
82
109
|
- lib/ruport/formatter/csv.rb
|
83
110
|
- lib/ruport/formatter/html.rb
|
84
|
-
- lib/ruport/formatter/
|
111
|
+
- lib/ruport/formatter/markdown.rb
|
112
|
+
- lib/ruport/formatter/prawn_pdf.rb
|
85
113
|
- lib/ruport/formatter/template.rb
|
86
114
|
- lib/ruport/formatter/text.rb
|
87
115
|
- lib/ruport/version.rb
|
@@ -89,10 +117,12 @@ files:
|
|
89
117
|
- test/controller_test.rb
|
90
118
|
- test/csv_formatter_test.rb
|
91
119
|
- test/data_feeder_test.rb
|
120
|
+
- test/expected_outputs/prawn_pdf_formatter/pdf_basic.pdf.test
|
92
121
|
- test/grouping_test.rb
|
93
122
|
- test/helpers.rb
|
94
123
|
- test/html_formatter_test.rb
|
95
|
-
- test/
|
124
|
+
- test/markdown_formatter_test.rb
|
125
|
+
- test/prawn_pdf_formatter_test.rb
|
96
126
|
- test/record_test.rb
|
97
127
|
- test/samples/addressbook.csv
|
98
128
|
- test/samples/data.csv
|
@@ -101,6 +131,7 @@ files:
|
|
101
131
|
- test/samples/erb_test.sql
|
102
132
|
- test/samples/query_test.sql
|
103
133
|
- test/samples/ruport_test.sql
|
134
|
+
- test/samples/sales.csv
|
104
135
|
- test/samples/test.sql
|
105
136
|
- test/samples/test.yaml
|
106
137
|
- test/samples/ticket_count.csv
|
@@ -124,60 +155,78 @@ files:
|
|
124
155
|
- util/bench/samples/tattle.csv
|
125
156
|
- util/release/freshmeat.rb
|
126
157
|
- util/release/raa.rb
|
127
|
-
|
128
|
-
homepage: http://rubyreports.org
|
158
|
+
homepage: http://github.com/ruport/ruport
|
129
159
|
licenses: []
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
- README
|
137
|
-
- -q
|
138
|
-
require_paths:
|
160
|
+
metadata:
|
161
|
+
source_code_uri: https://github.com/ruport/ruport
|
162
|
+
changelog_uri: https://github.com/ruport/ruport/blob/master/CHANGELOG.md
|
163
|
+
post_install_message:
|
164
|
+
rdoc_options: []
|
165
|
+
require_paths:
|
139
166
|
- lib
|
140
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
141
|
-
requirements:
|
167
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
168
|
+
requirements:
|
142
169
|
- - ">="
|
143
|
-
- !ruby/object:Gem::Version
|
144
|
-
version:
|
145
|
-
|
146
|
-
|
147
|
-
requirements:
|
170
|
+
- !ruby/object:Gem::Version
|
171
|
+
version: '0'
|
172
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
173
|
+
requirements:
|
148
174
|
- - ">="
|
149
|
-
- !ruby/object:Gem::Version
|
150
|
-
version:
|
151
|
-
version:
|
175
|
+
- !ruby/object:Gem::Version
|
176
|
+
version: '0'
|
152
177
|
requirements: []
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
signing_key:
|
157
|
-
specification_version: 3
|
178
|
+
rubygems_version: 3.1.6
|
179
|
+
signing_key:
|
180
|
+
specification_version: 4
|
158
181
|
summary: A generalized Ruby report generation and templating engine.
|
159
|
-
test_files:
|
160
|
-
-
|
161
|
-
-
|
162
|
-
-
|
163
|
-
-
|
164
|
-
-
|
165
|
-
-
|
166
|
-
- test/table_test.rb
|
167
|
-
- test/text_formatter_test.rb
|
168
|
-
- test/html_formatter_test.rb
|
169
|
-
- test/grouping_test.rb
|
170
|
-
- test/controller_test.rb
|
171
|
-
- test/pdf_formatter_test.rb
|
182
|
+
test_files:
|
183
|
+
- examples/RWEmerson.jpg
|
184
|
+
- examples/add_row_table.rb
|
185
|
+
- examples/anon.rb
|
186
|
+
- examples/btree/commaleon/commaleon.rb
|
187
|
+
- examples/btree/commaleon/sample_data/ticket_count.csv
|
188
|
+
- examples/btree/commaleon/sample_data/ticket_count2.csv
|
172
189
|
- examples/centered_pdf_text_box.rb
|
190
|
+
- examples/data/tattle.dump
|
191
|
+
- examples/data/wine.csv
|
192
|
+
- examples/example.csv
|
173
193
|
- examples/line_plotter.rb
|
174
|
-
- examples/
|
175
|
-
- examples/anon.rb
|
194
|
+
- examples/pdf_grouping.rb
|
176
195
|
- examples/pdf_report_with_common_base.rb
|
196
|
+
- examples/pdf_table.rb
|
197
|
+
- examples/pdf_table_from_csv.rb
|
198
|
+
- examples/pdf_table_prawn.rb
|
199
|
+
- examples/pdf_table_simple.rb
|
200
|
+
- examples/png_embed.rb
|
201
|
+
- examples/roadmap.png
|
177
202
|
- examples/row_renderer.rb
|
178
|
-
- examples/tattle_ruby_version.rb
|
179
203
|
- examples/simple_pdf_lines.rb
|
180
|
-
- examples/png_embed.rb
|
181
|
-
- examples/trac_ticket_status.rb
|
182
|
-
- examples/tattle_rubygems_version.rb
|
183
204
|
- examples/simple_templating_example.rb
|
205
|
+
- examples/tattle_ruby_version.rb
|
206
|
+
- examples/tattle_rubygems_version.rb
|
207
|
+
- examples/trac_ticket_status.rb
|
208
|
+
- test/controller_test.rb
|
209
|
+
- test/csv_formatter_test.rb
|
210
|
+
- test/data_feeder_test.rb
|
211
|
+
- test/expected_outputs/prawn_pdf_formatter/pdf_basic.pdf.test
|
212
|
+
- test/grouping_test.rb
|
213
|
+
- test/helpers.rb
|
214
|
+
- test/html_formatter_test.rb
|
215
|
+
- test/markdown_formatter_test.rb
|
216
|
+
- test/prawn_pdf_formatter_test.rb
|
217
|
+
- test/record_test.rb
|
218
|
+
- test/samples/addressbook.csv
|
219
|
+
- test/samples/data.csv
|
220
|
+
- test/samples/data.tsv
|
221
|
+
- test/samples/dates.csv
|
222
|
+
- test/samples/erb_test.sql
|
223
|
+
- test/samples/query_test.sql
|
224
|
+
- test/samples/ruport_test.sql
|
225
|
+
- test/samples/sales.csv
|
226
|
+
- test/samples/test.sql
|
227
|
+
- test/samples/test.yaml
|
228
|
+
- test/samples/ticket_count.csv
|
229
|
+
- test/table_pivot_test.rb
|
230
|
+
- test/table_test.rb
|
231
|
+
- test/template_test.rb
|
232
|
+
- test/text_formatter_test.rb
|