ruport 1.0.0 → 1.0.1
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.
- data/Rakefile +1 -1
- data/examples/btree/commaleon/commaleon.rb +1 -2
- data/lib/ruport/acts_as_reportable.rb +1 -1
- data/lib/ruport/data/grouping.rb +1 -0
- data/lib/ruport/formatter/pdf.rb +7 -3
- data/lib/ruport/query/sql_split.rb +16 -16
- data/lib/ruport/renderer.rb +2 -2
- data/lib/ruport.rb +3 -6
- data/test/acts_as_reportable_test.rb +1 -5
- data/test/csv_formatter_test.rb +1 -8
- data/test/grouping_test.rb +1 -3
- data/test/helpers.rb +8 -0
- data/test/html_formatter_test.rb +1 -2
- data/test/pdf_formatter_test.rb +1 -10
- data/test/query_test.rb +1 -2
- data/test/record_test.rb +92 -80
- data/test/renderer_test.rb +59 -2
- data/test/sql_split_test.rb +1 -2
- data/test/table_test.rb +1 -4
- data/test/text_formatter_test.rb +1 -2
- data/util/bench/data/table/bench_manip.rb +2 -2
- metadata +69 -68
data/Rakefile
CHANGED
data/lib/ruport/data/grouping.rb
CHANGED
data/lib/ruport/formatter/pdf.rb
CHANGED
@@ -90,7 +90,7 @@ module Ruport
|
|
90
90
|
:paper_orientation
|
91
91
|
|
92
92
|
def initialize
|
93
|
-
quiet do
|
93
|
+
Ruport.quiet do
|
94
94
|
require "pdf/writer"
|
95
95
|
require "pdf/simpletable"
|
96
96
|
end
|
@@ -418,7 +418,10 @@ module Ruport
|
|
418
418
|
data.each do |name,group|
|
419
419
|
group_column = { data.grouped_by => "<b>#{name}</b>\n" }
|
420
420
|
group.each_with_index do |rec,i|
|
421
|
-
|
421
|
+
# FIXME - Find the source of the bug requiring to_a
|
422
|
+
i == 0 ?
|
423
|
+
table << group_column.merge(rec.to_hash) :
|
424
|
+
table << rec.to_a.unshift(nil)
|
422
425
|
end
|
423
426
|
table << Array.new(grouping_columns.length,' ') if style == :separated
|
424
427
|
end
|
@@ -429,7 +432,8 @@ module Ruport
|
|
429
432
|
table = table_with_grouped_by_column
|
430
433
|
data.each do |name,group|
|
431
434
|
table << ["<b>#{name}</b>\n",nil,nil]
|
432
|
-
|
435
|
+
# FIXME - Find the source of the bug requiring to_a
|
436
|
+
group.each {|r| table << r.to_a.unshift(nil) }
|
433
437
|
end
|
434
438
|
render_table table, options.to_hash.merge(:formatter => pdf_writer)
|
435
439
|
end
|
@@ -13,21 +13,21 @@ module Ruport
|
|
13
13
|
# This class properly splits up multi-statement SQL input for use with
|
14
14
|
# Ruby/DBI
|
15
15
|
class SqlSplit < Array #:nodoc:
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
16
|
+
def initialize( sql )
|
17
|
+
super()
|
18
|
+
next_sql = ''
|
19
|
+
sql.each do |line|
|
20
|
+
unless line =~ /^--/ or line =~ %r{^/\*.*\*/;} or line =~ /^\s*$/
|
21
|
+
next_sql << line
|
22
|
+
if line =~ /;$/
|
23
|
+
next_sql.gsub!( /;\s$/, '' )
|
24
|
+
self << next_sql
|
25
|
+
next_sql = ''
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
self << next_sql if next_sql != ''
|
30
|
+
end
|
31
|
+
end
|
32
32
|
end
|
33
33
|
end
|
data/lib/ruport/renderer.rb
CHANGED
@@ -168,8 +168,8 @@ class Ruport::Renderer
|
|
168
168
|
end
|
169
169
|
self.class.renderer.render(format,
|
170
170
|
self.class.rendering_options.merge(options)) do |rend|
|
171
|
-
|
172
|
-
|
171
|
+
rend.data = respond_to?(:renderable_data) ? renderable_data : self
|
172
|
+
yield(rend) if block_given?
|
173
173
|
end
|
174
174
|
end
|
175
175
|
end
|
data/lib/ruport.rb
CHANGED
@@ -12,7 +12,7 @@
|
|
12
12
|
|
13
13
|
module Ruport #:nodoc:#
|
14
14
|
|
15
|
-
VERSION = "1.0.
|
15
|
+
VERSION = "1.0.1"
|
16
16
|
|
17
17
|
class FormatterError < RuntimeError #:nodoc:
|
18
18
|
end
|
@@ -82,11 +82,6 @@ module Ruport #:nodoc:#
|
|
82
82
|
|
83
83
|
end
|
84
84
|
|
85
|
-
|
86
|
-
end
|
87
|
-
|
88
|
-
module Kernel
|
89
|
-
|
90
85
|
# quiets warnings for block
|
91
86
|
def quiet #:nodoc:
|
92
87
|
warnings = $VERBOSE
|
@@ -96,6 +91,8 @@ module Kernel
|
|
96
91
|
return result
|
97
92
|
end
|
98
93
|
|
94
|
+
module_function :quiet
|
95
|
+
|
99
96
|
end
|
100
97
|
|
101
98
|
require "enumerator"
|
data/test/csv_formatter_test.rb
CHANGED
data/test/grouping_test.rb
CHANGED
data/test/helpers.rb
ADDED
data/test/html_formatter_test.rb
CHANGED
data/test/pdf_formatter_test.rb
CHANGED
data/test/query_test.rb
CHANGED
data/test/record_test.rb
CHANGED
@@ -1,63 +1,72 @@
|
|
1
|
-
require "test/
|
2
|
-
require "ruport"
|
3
|
-
|
4
|
-
module RecordTestSetup
|
5
|
-
def setup
|
6
|
-
@attributes = %w[a b c d]
|
7
|
-
@record = Ruport::Data::Record.new [1,2,3,4], :attributes => @attributes
|
8
|
-
end
|
9
|
-
end
|
1
|
+
require "test/helpers"
|
10
2
|
|
11
3
|
class TestRecord < Test::Unit::TestCase
|
12
4
|
|
13
5
|
include Ruport::Data
|
14
|
-
include RecordTestSetup
|
15
|
-
|
16
|
-
def test_init
|
17
|
-
record = Ruport::Data::Record.new [1,2,3,4]
|
18
|
-
assert_equal 1, record[0]
|
19
|
-
assert_equal 2, record[1]
|
20
|
-
assert_equal 3, record[2]
|
21
|
-
assert_equal 4, record[3]
|
22
|
-
|
23
|
-
assert_equal 1, @record["a"]
|
24
|
-
assert_equal 4, @record["d"]
|
25
|
-
assert_equal 2, @record.b
|
26
|
-
assert_equal 3, @record.c
|
27
|
-
assert_raise(NoMethodError) { @record.f }
|
28
|
-
end
|
29
6
|
|
30
|
-
def
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
assert_equal 3, record[:c]
|
35
|
-
assert_equal 3, record.c
|
36
|
-
end
|
7
|
+
def setup
|
8
|
+
@attributes = %w[a b c d]
|
9
|
+
@record = Ruport::Data::Record.new [1,2,3,4], :attributes => @attributes
|
10
|
+
end
|
37
11
|
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
12
|
+
context "when initializing with an array with attributes" do
|
13
|
+
def specify_key_access_should_work
|
14
|
+
assert_equal 1, @record["a"]
|
15
|
+
assert_equal 4, @record["d"]
|
16
|
+
assert_equal 2, @record.b
|
17
|
+
assert_equal 3, @record.c
|
18
|
+
assert_raise(NoMethodError) { @record.f }
|
19
|
+
end
|
44
20
|
|
45
|
-
|
46
|
-
|
47
|
-
|
21
|
+
def specify_ordinal_access_should_work
|
22
|
+
assert_equal 1, @record[0]
|
23
|
+
assert_equal 2, @record[1]
|
24
|
+
assert_equal 3, @record[2]
|
25
|
+
assert_equal 4, @record[3]
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
context "when initializing with an array without attributes" do
|
30
|
+
def specify_ordinal_access_should_work
|
31
|
+
record = Ruport::Data::Record.new [1,2,3,4]
|
32
|
+
assert_equal 1, record[0]
|
33
|
+
assert_equal 2, record[1]
|
34
|
+
assert_equal 3, record[2]
|
35
|
+
assert_equal 4, record[3]
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
context "when initializing with a hash without attributes" do
|
40
|
+
def setup
|
41
|
+
@record = Ruport::Data::Record.new({:a => 1, :b => 2, :c => 3},{})
|
42
|
+
end
|
43
|
+
|
44
|
+
def specify_key_access_should_work
|
45
|
+
assert_equal 1, @record[:a]
|
46
|
+
assert_equal 2, @record[:b]
|
47
|
+
assert_equal 3, @record[:c]
|
48
|
+
assert_equal 3, @record.c
|
49
|
+
end
|
48
50
|
end
|
49
51
|
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
52
|
+
context "when initializing with a hash with attributes" do
|
53
|
+
def setup
|
54
|
+
@record = Record.new({:a => 1, :b => 2, :c => 3 },
|
55
|
+
:attributes => [:c,:b,:a])
|
56
|
+
end
|
57
|
+
|
58
|
+
def specify_key_access_should_work
|
59
|
+
assert_equal 1, @record[:a]
|
60
|
+
assert_equal 2, @record[:b]
|
61
|
+
assert_equal 3, @record[:c]
|
62
|
+
assert_equal 3, @record.c
|
63
|
+
end
|
64
|
+
|
65
|
+
def specify_ordinal_access_should_work
|
66
|
+
assert_equal 3, @record[0]
|
67
|
+
assert_equal 2, @record[1]
|
68
|
+
assert_equal 1, @record[2]
|
69
|
+
end
|
61
70
|
end
|
62
71
|
|
63
72
|
def test_bracket_equals
|
@@ -275,40 +284,43 @@ class TestRecord < Test::Unit::TestCase
|
|
275
284
|
assert_equal "1,2,3\n", a.to_csv
|
276
285
|
end
|
277
286
|
|
278
|
-
|
287
|
+
context "when rendering records" do
|
279
288
|
|
289
|
+
def specify_record_as_should_work
|
290
|
+
rendered_row = @record.as(:text)
|
291
|
+
assert_equal("| 1 | 2 | 3 | 4 |\n", rendered_row)
|
292
|
+
end
|
280
293
|
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
def test_to_hack
|
292
|
-
rendered_row = @record.to_text
|
293
|
-
assert_equal("| 1 | 2 | 3 | 4 |\n", rendered_row)
|
294
|
+
def specify_record_to_format_should_work_without_options
|
295
|
+
rendered_row = @record.to_text
|
296
|
+
assert_equal("| 1 | 2 | 3 | 4 |\n", rendered_row)
|
297
|
+
end
|
298
|
+
|
299
|
+
def specify_record_to_format_should_work_with_options
|
300
|
+
rendered_row = @record.to_csv(:format_options => { :col_sep => "\t"})
|
301
|
+
assert_equal("1\t2\t3\t4\n",rendered_row)
|
302
|
+
end
|
294
303
|
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
|
304
|
+
context "when given bad format names" do
|
305
|
+
def setup
|
306
|
+
@a = Record.new({ "a" => 1, "b" => 2 })
|
307
|
+
end
|
308
|
+
|
309
|
+
def specify_as_should_throw_proper_errors
|
310
|
+
assert_raises(Ruport::Renderer::UnknownFormatError) { @a.as(:nothing) }
|
311
|
+
end
|
312
|
+
|
313
|
+
def specify_to_format_should_throw_proper_errors
|
314
|
+
assert_raises(Ruport::Renderer::UnknownFormatError) { @a.to_nothing }
|
315
|
+
end
|
316
|
+
end
|
306
317
|
|
307
|
-
|
318
|
+
## -- BUG TRAPS --------------------
|
308
319
|
|
309
|
-
|
310
|
-
|
311
|
-
|
320
|
+
def specify_attributes_should_not_be_broken_by_to_hack
|
321
|
+
record = Ruport::Data::Record.new [1,2], :attributes => %w[a to_something]
|
322
|
+
assert_equal 2, record.to_something
|
323
|
+
end
|
312
324
|
end
|
313
325
|
|
314
326
|
end
|
data/test/renderer_test.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
|
-
require 'test/
|
2
|
-
require 'ruport'
|
1
|
+
require 'test/helpers'
|
3
2
|
|
4
3
|
###########################################################################
|
5
4
|
#
|
@@ -453,3 +452,61 @@ class TestSetupOrdering < Test::Unit::TestCase
|
|
453
452
|
end
|
454
453
|
|
455
454
|
end
|
455
|
+
|
456
|
+
class TestRendererHooks < Test::Unit::TestCase
|
457
|
+
|
458
|
+
context "when renderable_data omitted" do
|
459
|
+
|
460
|
+
require "mocha"
|
461
|
+
|
462
|
+
class DummyObject
|
463
|
+
include Ruport::Renderer::Hooks
|
464
|
+
renders_as_table
|
465
|
+
end
|
466
|
+
|
467
|
+
def specify_should_return_self
|
468
|
+
a = DummyObject.new
|
469
|
+
rend = mock("renderer")
|
470
|
+
rend.expects(:data=).with(a)
|
471
|
+
Ruport::Renderer::Table.expects(:render).with(:csv,{}).yields(rend)
|
472
|
+
a.as(:csv)
|
473
|
+
end
|
474
|
+
|
475
|
+
end
|
476
|
+
|
477
|
+
context "when using renderable_data" do
|
478
|
+
|
479
|
+
class DummyObject2
|
480
|
+
include Ruport::Renderer::Hooks
|
481
|
+
renders_as_table
|
482
|
+
|
483
|
+
def renderable_data
|
484
|
+
1
|
485
|
+
end
|
486
|
+
end
|
487
|
+
|
488
|
+
def specify_should_return_results_of_renderable_data
|
489
|
+
a = DummyObject2.new
|
490
|
+
rend = mock("renderer")
|
491
|
+
rend.expects(:data=).with(1)
|
492
|
+
Ruport::Renderer::Table.expects(:render).with(:csv,{}).yields(rend)
|
493
|
+
a.as(:csv)
|
494
|
+
end
|
495
|
+
|
496
|
+
class DummyObject3
|
497
|
+
include Ruport::Renderer::Hooks
|
498
|
+
renders_as_table
|
499
|
+
|
500
|
+
def renderable_data
|
501
|
+
raise ArgumentError
|
502
|
+
end
|
503
|
+
end
|
504
|
+
|
505
|
+
def specify_should_not_mask_errors
|
506
|
+
assert_raises(ArgumentError) { DummyObject3.new.as(:csv) }
|
507
|
+
end
|
508
|
+
|
509
|
+
|
510
|
+
end
|
511
|
+
|
512
|
+
end
|
data/test/sql_split_test.rb
CHANGED
data/test/table_test.rb
CHANGED
data/test/text_formatter_test.rb
CHANGED
@@ -41,7 +41,7 @@ bench_suite do
|
|
41
41
|
small_table << [1,2,3]
|
42
42
|
}
|
43
43
|
|
44
|
-
small_hash = small_table[0].
|
44
|
+
small_hash = small_table[0].to_hash
|
45
45
|
bench_case("Table#<< - small hash",SMALL_N) {
|
46
46
|
small_table << small_hash
|
47
47
|
}
|
@@ -56,7 +56,7 @@ bench_suite do
|
|
56
56
|
wide_table << wide_data[0]
|
57
57
|
}
|
58
58
|
|
59
|
-
large_hash = wide_table[0].
|
59
|
+
large_hash = wide_table[0].to_hash
|
60
60
|
bench_case("Table#<< - large hash",WIDE_N) {
|
61
61
|
wide_table << large_hash
|
62
62
|
}
|
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.2
|
|
3
3
|
specification_version: 1
|
4
4
|
name: ruport
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 1.0.
|
7
|
-
date: 2007-
|
6
|
+
version: 1.0.1
|
7
|
+
date: 2007-06-12 00:00:00 -04:00
|
8
8
|
summary: A generalized Ruby report generation and templating engine.
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -30,105 +30,106 @@ authors:
|
|
30
30
|
- Gregory Brown
|
31
31
|
files:
|
32
32
|
- examples/btree
|
33
|
-
- examples/centered_pdf_text_box.rb
|
34
|
-
- examples/data
|
35
|
-
- examples/example.csv
|
36
|
-
- examples/line_plotter.rb
|
37
|
-
- examples/pdf_report_with_common_base.rb
|
38
|
-
- examples/png_embed.rb
|
39
|
-
- examples/roadmap.png
|
40
|
-
- examples/row_renderer.rb
|
41
|
-
- examples/RWEmerson.jpg
|
42
|
-
- examples/simple_pdf_lines.rb
|
43
|
-
- examples/tattle_ruby_version.rb
|
44
|
-
- examples/tattle_rubygems_version.rb
|
45
|
-
- examples/trac_ticket_status.rb
|
46
33
|
- examples/btree/commaleon
|
47
|
-
- examples/btree/commaleon/commaleon.rb
|
48
34
|
- examples/btree/commaleon/sample_data
|
49
35
|
- examples/btree/commaleon/sample_data/ticket_count.csv
|
50
36
|
- examples/btree/commaleon/sample_data/ticket_count2.csv
|
37
|
+
- examples/btree/commaleon/commaleon.rb
|
38
|
+
- examples/data
|
51
39
|
- examples/data/tattle.dump
|
40
|
+
- examples/row_renderer.rb
|
41
|
+
- examples/RWEmerson.jpg
|
42
|
+
- examples/centered_pdf_text_box.rb
|
43
|
+
- examples/tattle_rubygems_version.rb
|
44
|
+
- examples/trac_ticket_status.rb
|
45
|
+
- examples/line_plotter.rb
|
46
|
+
- examples/png_embed.rb
|
47
|
+
- examples/pdf_report_with_common_base.rb
|
48
|
+
- examples/example.csv
|
49
|
+
- examples/tattle_ruby_version.rb
|
50
|
+
- examples/roadmap.png
|
51
|
+
- examples/simple_pdf_lines.rb
|
52
52
|
- lib/ruport
|
53
|
-
- lib/ruport.rb
|
54
|
-
- lib/uport.rb
|
55
|
-
- lib/ruport/acts_as_reportable.rb
|
56
|
-
- lib/ruport/data
|
57
|
-
- lib/ruport/data.rb
|
58
|
-
- lib/ruport/extensions.rb
|
59
53
|
- lib/ruport/formatter
|
60
|
-
- lib/ruport/formatter.rb
|
61
|
-
- lib/ruport/query
|
62
|
-
- lib/ruport/query.rb
|
63
|
-
- lib/ruport/renderer
|
64
|
-
- lib/ruport/renderer.rb
|
65
|
-
- lib/ruport/data/grouping.rb
|
66
|
-
- lib/ruport/data/record.rb
|
67
|
-
- lib/ruport/data/table.rb
|
68
|
-
- lib/ruport/formatter/csv.rb
|
69
54
|
- lib/ruport/formatter/html.rb
|
70
|
-
- lib/ruport/formatter/pdf.rb
|
71
55
|
- lib/ruport/formatter/text.rb
|
56
|
+
- lib/ruport/formatter/pdf.rb
|
57
|
+
- lib/ruport/formatter/csv.rb
|
58
|
+
- lib/ruport/query
|
72
59
|
- lib/ruport/query/sql_split.rb
|
73
|
-
- lib/ruport/renderer
|
60
|
+
- lib/ruport/renderer
|
74
61
|
- lib/ruport/renderer/table.rb
|
75
|
-
-
|
76
|
-
-
|
77
|
-
-
|
78
|
-
-
|
79
|
-
-
|
80
|
-
-
|
81
|
-
-
|
82
|
-
-
|
62
|
+
- lib/ruport/renderer/grouping.rb
|
63
|
+
- lib/ruport/data
|
64
|
+
- lib/ruport/data/record.rb
|
65
|
+
- lib/ruport/data/table.rb
|
66
|
+
- lib/ruport/data/grouping.rb
|
67
|
+
- lib/ruport/extensions.rb
|
68
|
+
- lib/ruport/formatter.rb
|
69
|
+
- lib/ruport/query.rb
|
70
|
+
- lib/ruport/renderer.rb
|
71
|
+
- lib/ruport/data.rb
|
72
|
+
- lib/ruport/acts_as_reportable.rb
|
73
|
+
- lib/uport.rb
|
74
|
+
- lib/ruport.rb
|
83
75
|
- test/samples
|
84
|
-
- test/
|
85
|
-
- test/
|
86
|
-
- test/text_formatter_test.rb
|
87
|
-
- test/samples/addressbook.csv
|
76
|
+
- test/samples/test.yaml
|
77
|
+
- test/samples/query_test.sql
|
88
78
|
- test/samples/data.csv
|
89
79
|
- test/samples/data.tsv
|
90
|
-
- test/samples/dates.csv
|
91
80
|
- test/samples/erb_test.sql
|
92
|
-
- test/samples/
|
81
|
+
- test/samples/ticket_count.csv
|
93
82
|
- test/samples/ruport_test.sql
|
83
|
+
- test/samples/addressbook.csv
|
84
|
+
- test/samples/dates.csv
|
94
85
|
- test/samples/test.sql
|
95
|
-
- test/
|
96
|
-
- test/
|
97
|
-
-
|
86
|
+
- test/csv_formatter_test.rb
|
87
|
+
- test/record_test.rb
|
88
|
+
- test/helpers.rb
|
89
|
+
- test/query_test.rb
|
90
|
+
- test/renderer_test.rb
|
91
|
+
- test/html_formatter_test.rb
|
92
|
+
- test/table_test.rb
|
93
|
+
- test/text_formatter_test.rb
|
94
|
+
- test/grouping_test.rb
|
95
|
+
- test/sql_split_test.rb
|
96
|
+
- test/acts_as_reportable_test.rb
|
97
|
+
- test/pdf_formatter_test.rb
|
98
98
|
- util/bench/formatter
|
99
|
+
- util/bench/formatter/bench_html.rb
|
100
|
+
- util/bench/formatter/bench_text.rb
|
101
|
+
- util/bench/formatter/bench_pdf.rb
|
102
|
+
- util/bench/formatter/bench_csv.rb
|
99
103
|
- util/bench/samples
|
100
|
-
- util/bench/
|
104
|
+
- util/bench/samples/tattle.csv
|
105
|
+
- util/bench/data
|
101
106
|
- util/bench/data/table
|
102
|
-
- util/bench/data/record/bench_as_vs_to.rb
|
103
|
-
- util/bench/data/record/bench_constructor.rb
|
104
|
-
- util/bench/data/record/bench_indexing.rb
|
105
|
-
- util/bench/data/record/bench_reorder.rb
|
106
|
-
- util/bench/data/record/bench_to_a.rb
|
107
107
|
- util/bench/data/table/bench_column_manip.rb
|
108
|
-
- util/bench/data/table/bench_dup.rb
|
109
108
|
- util/bench/data/table/bench_init.rb
|
110
109
|
- util/bench/data/table/bench_manip.rb
|
111
|
-
- util/bench/
|
112
|
-
- util/bench/
|
113
|
-
- util/bench/
|
114
|
-
- util/bench/
|
115
|
-
- util/bench/
|
110
|
+
- util/bench/data/table/bench_dup.rb
|
111
|
+
- util/bench/data/record
|
112
|
+
- util/bench/data/record/bench_reorder.rb
|
113
|
+
- util/bench/data/record/bench_to_a.rb
|
114
|
+
- util/bench/data/record/bench_constructor.rb
|
115
|
+
- util/bench/data/record/bench_indexing.rb
|
116
|
+
- util/bench/data/record/bench_as_vs_to.rb
|
116
117
|
- Rakefile
|
117
118
|
- README
|
118
119
|
- LICENSE
|
119
120
|
- AUTHORS
|
120
121
|
test_files:
|
121
|
-
- test/acts_as_reportable_test.rb
|
122
122
|
- test/csv_formatter_test.rb
|
123
|
-
- test/grouping_test.rb
|
124
|
-
- test/html_formatter_test.rb
|
125
|
-
- test/pdf_formatter_test.rb
|
126
|
-
- test/query_test.rb
|
127
123
|
- test/record_test.rb
|
124
|
+
- test/query_test.rb
|
128
125
|
- test/renderer_test.rb
|
129
|
-
- test/
|
126
|
+
- test/html_formatter_test.rb
|
130
127
|
- test/table_test.rb
|
131
128
|
- test/text_formatter_test.rb
|
129
|
+
- test/grouping_test.rb
|
130
|
+
- test/sql_split_test.rb
|
131
|
+
- test/acts_as_reportable_test.rb
|
132
|
+
- test/pdf_formatter_test.rb
|
132
133
|
rdoc_options:
|
133
134
|
- --title
|
134
135
|
- Ruport Documentation
|