ruport 0.8.12 → 0.8.13
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +11 -1
- data/lib/ruport.rb +2 -2
- data/lib/ruport/data/record.rb +15 -2
- data/lib/ruport/data/table.rb +11 -12
- data/test/test_record.rb +9 -1
- metadata +90 -90
data/Rakefile
CHANGED
@@ -8,6 +8,8 @@ rescue LoadError
|
|
8
8
|
nil
|
9
9
|
end
|
10
10
|
|
11
|
+
RUPORT_VERSION = "0.8.13"
|
12
|
+
|
11
13
|
#Set to true to disable dependency resolution
|
12
14
|
LEAN=false
|
13
15
|
dir = File.dirname(__FILE__)
|
@@ -23,7 +25,7 @@ end
|
|
23
25
|
|
24
26
|
spec = Gem::Specification.new do |spec|
|
25
27
|
spec.name = LEAN ? "lean-ruport" : "ruport"
|
26
|
-
spec.version =
|
28
|
+
spec.version = RUPORT_VERSION
|
27
29
|
spec.platform = Gem::Platform::RUBY
|
28
30
|
spec.summary = "A generalized Ruby report generation and templating engine."
|
29
31
|
spec.files = Dir.glob("{examples,lib,test,bin}/**/**/*") +
|
@@ -73,6 +75,14 @@ Rake::GemPackageTask.new(spec) do |pkg|
|
|
73
75
|
pkg.need_tar = true
|
74
76
|
end
|
75
77
|
|
78
|
+
task :build_archives => [:package,:rcov,:rdoc] do
|
79
|
+
mv "pkg/ruport-#{RUPORT_VERSION}.tgz", "pkg/ruport-#{RUPORT_VERSION}.tar.gz"
|
80
|
+
sh "tar cjvf pkg/ruport_coverage-#{RUPORT_VERSION}.tar.bz2 coverage"
|
81
|
+
sh "tar cjvf pkg/ruport_doc-#{RUPORT_VERSION}.tar.bz2 doc/html"
|
82
|
+
cd "pkg"
|
83
|
+
sh "tar cjvf ruport-#{RUPORT_VERSION}.tar.bz2 ruport-#{RUPORT_VERSION}"
|
84
|
+
end
|
85
|
+
|
76
86
|
begin
|
77
87
|
require 'rcov/rcovtask'
|
78
88
|
Rcov::RcovTask.new do |t|
|
data/lib/ruport.rb
CHANGED
@@ -12,7 +12,7 @@
|
|
12
12
|
|
13
13
|
module Ruport
|
14
14
|
|
15
|
-
VERSION = "0.8.
|
15
|
+
VERSION = "0.8.13"
|
16
16
|
|
17
17
|
# This method is Ruport's logging and error interface. It can generate
|
18
18
|
# warnings or raise fatal errors, logging +message+ to the file defined by
|
@@ -60,7 +60,7 @@ module Ruport
|
|
60
60
|
# c.source :default,
|
61
61
|
# :dsn => "dbi:mysql:foo",
|
62
62
|
# :user => "clyde",
|
63
|
-
# :password => "
|
63
|
+
# :password => "pacman"
|
64
64
|
#
|
65
65
|
# c.mailer :default,
|
66
66
|
# :host => "mail.example.com",
|
data/lib/ruport/data/record.rb
CHANGED
@@ -183,7 +183,9 @@ module Ruport::Data
|
|
183
183
|
self
|
184
184
|
end
|
185
185
|
|
186
|
-
# Takes an old name and a new name and renames an attribute.
|
186
|
+
# Takes an old name and a new name and renames an attribute.
|
187
|
+
#
|
188
|
+
# The third option, update_index is for internal use.
|
187
189
|
def rename_attribute(old_name,new_name,update_index=true)
|
188
190
|
@attributes[@attributes.index(old_name)] = new_name if update_index
|
189
191
|
@data[new_name] = @data.delete(old_name)
|
@@ -222,13 +224,24 @@ module Ruport::Data
|
|
222
224
|
end
|
223
225
|
end
|
224
226
|
|
225
|
-
#
|
227
|
+
# Indifferent access to attributes.
|
228
|
+
#
|
229
|
+
# Examples:
|
230
|
+
#
|
231
|
+
# record.get(:foo) # looks for an attribute "foo" or :foo,
|
232
|
+
# or calls the method <tt>foo</tt>
|
233
|
+
#
|
234
|
+
# record.get("foo") # looks for an attribute "foo" or :foo
|
235
|
+
#
|
236
|
+
# record.get(0) # Gets the first element
|
226
237
|
def get(name)
|
227
238
|
case name
|
228
239
|
when Symbol
|
229
240
|
send(name)
|
230
241
|
when String
|
231
242
|
self[attributes.find { |a| a.to_s.eql?(name)}]
|
243
|
+
when Fixnum
|
244
|
+
self[name]
|
232
245
|
else
|
233
246
|
raise "Whatchu Talkin' Bout, Willis?"
|
234
247
|
end
|
data/lib/ruport/data/table.rb
CHANGED
@@ -390,15 +390,15 @@ module Ruport::Data
|
|
390
390
|
#
|
391
391
|
# FIXME: loses tags
|
392
392
|
def sub_table(columns=column_names,range=nil)
|
393
|
-
Table(columns)
|
394
|
-
|
395
|
-
|
396
|
-
|
397
|
-
|
398
|
-
|
399
|
-
|
400
|
-
|
401
|
-
|
393
|
+
t =Ruport::Data::Table.new(:column_names => columns)
|
394
|
+
if range
|
395
|
+
data[range].each { |r| t << r }
|
396
|
+
elsif block_given?
|
397
|
+
data.each { |r| t << r if yield(r) }
|
398
|
+
else
|
399
|
+
data.each { |r| t << r }
|
400
|
+
end
|
401
|
+
return t
|
402
402
|
end
|
403
403
|
|
404
404
|
# returns an array of values for the given column name
|
@@ -480,8 +480,7 @@ module Ruport::Data
|
|
480
480
|
sort_by(&block)
|
481
481
|
end
|
482
482
|
|
483
|
-
table =
|
484
|
-
data_array.to_table(@column_names)
|
483
|
+
table = Table.new(:data => data_array, :column_names => @column_names)
|
485
484
|
|
486
485
|
table.tags = self.tags
|
487
486
|
return table
|
@@ -614,7 +613,7 @@ module Kernel
|
|
614
613
|
when /\.csv/
|
615
614
|
Ruport::Data::Table.load(*args)
|
616
615
|
else
|
617
|
-
[]
|
616
|
+
Ruport::Data::Table.new(:data => [],:column_names => args)
|
618
617
|
end
|
619
618
|
|
620
619
|
block[table] if block
|
data/test/test_record.rb
CHANGED
@@ -250,4 +250,12 @@ class TestRecord < Test::Unit::TestCase
|
|
250
250
|
assert_equal(2,a.get(:b))
|
251
251
|
end
|
252
252
|
|
253
|
-
|
253
|
+
def test_ensure_get_works_ordinally
|
254
|
+
a = Record.new({"a" => 1, "b" => 2})
|
255
|
+
assert_nothing_raised { a.get(0) }
|
256
|
+
b = Record.new({"a" => 1, "b" => 2},:attributes => %w[a b])
|
257
|
+
assert_equal 2, a.get(1)
|
258
|
+
assert_equal 1, a.get(0)
|
259
|
+
end
|
260
|
+
|
261
|
+
end
|
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: 0.8.
|
7
|
-
date: 2007-
|
6
|
+
version: 0.8.13
|
7
|
+
date: 2007-04-01 00:00:00 -04:00
|
8
8
|
summary: A generalized Ruby report generation and templating engine.
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -29,128 +29,128 @@ post_install_message:
|
|
29
29
|
authors:
|
30
30
|
- Gregory Brown
|
31
31
|
files:
|
32
|
-
- examples/rope_examples
|
33
|
-
- examples/RWEmerson.jpg
|
34
32
|
- examples/centered_pdf_text_box.rb
|
35
|
-
- examples/
|
33
|
+
- examples/invoice.rb
|
36
34
|
- examples/invoice_report.rb
|
37
35
|
- examples/line_graph.rb
|
36
|
+
- examples/line_plotter.rb
|
38
37
|
- examples/pdf_complex_report.rb
|
39
|
-
- examples/invoice.rb
|
40
38
|
- examples/pdf_table_with_title.rb
|
41
|
-
- examples/rope_examples
|
39
|
+
- examples/rope_examples
|
40
|
+
- examples/RWEmerson.jpg
|
42
41
|
- examples/rope_examples/itunes
|
43
|
-
- examples/rope_examples/sales_report
|
44
|
-
- examples/rope_examples/sales_report/test
|
45
|
-
- examples/rope_examples/sales_report/output
|
46
|
-
- examples/rope_examples/sales_report/log
|
47
|
-
- examples/rope_examples/sales_report/config
|
48
|
-
- examples/rope_examples/sales_report/lib
|
49
|
-
- examples/rope_examples/sales_report/data
|
50
|
-
- examples/rope_examples/sales_report/util
|
51
|
-
- examples/rope_examples/sales_report/templates
|
52
|
-
- examples/rope_examples/sales_report/Rakefile
|
53
|
-
- examples/rope_examples/sales_report/README
|
54
|
-
- examples/rope_examples/sales_report/test/test_sales.rb
|
55
|
-
- examples/rope_examples/sales_report/output/books.pdf
|
56
|
-
- examples/rope_examples/sales_report/output/books.txt
|
57
|
-
- examples/rope_examples/sales_report/log/ruport.log
|
58
|
-
- examples/rope_examples/sales_report/config/ruport_config.rb
|
59
|
-
- examples/rope_examples/sales_report/lib/reports
|
60
|
-
- examples/rope_examples/sales_report/lib/reports.rb
|
61
|
-
- examples/rope_examples/sales_report/lib/helpers.rb
|
62
|
-
- examples/rope_examples/sales_report/lib/init.rb
|
63
|
-
- examples/rope_examples/sales_report/lib/reports/sales.rb
|
64
|
-
- examples/rope_examples/sales_report/util/build
|
65
|
-
- examples/rope_examples/sales_report/util/sql_exec
|
66
|
-
- examples/rope_examples/itunes/sql
|
67
|
-
- examples/rope_examples/itunes/test
|
68
|
-
- examples/rope_examples/itunes/output
|
69
|
-
- examples/rope_examples/itunes/log
|
42
|
+
- examples/rope_examples/sales_report
|
70
43
|
- examples/rope_examples/itunes/config
|
71
|
-
- examples/rope_examples/itunes/lib
|
72
44
|
- examples/rope_examples/itunes/data
|
73
|
-
- examples/rope_examples/itunes/
|
74
|
-
- examples/rope_examples/itunes/
|
45
|
+
- examples/rope_examples/itunes/lib
|
46
|
+
- examples/rope_examples/itunes/log
|
47
|
+
- examples/rope_examples/itunes/output
|
75
48
|
- examples/rope_examples/itunes/Rakefile
|
76
49
|
- examples/rope_examples/itunes/README
|
77
|
-
- examples/rope_examples/itunes/
|
78
|
-
- examples/rope_examples/itunes/
|
50
|
+
- examples/rope_examples/itunes/sql
|
51
|
+
- examples/rope_examples/itunes/templates
|
52
|
+
- examples/rope_examples/itunes/test
|
53
|
+
- examples/rope_examples/itunes/util
|
79
54
|
- examples/rope_examples/itunes/config/ruport_config.rb
|
80
|
-
- examples/rope_examples/itunes/
|
81
|
-
- examples/rope_examples/itunes/lib/reports.rb
|
55
|
+
- examples/rope_examples/itunes/data/mix.txt
|
82
56
|
- examples/rope_examples/itunes/lib/helpers.rb
|
83
57
|
- examples/rope_examples/itunes/lib/init.rb
|
58
|
+
- examples/rope_examples/itunes/lib/reports
|
59
|
+
- examples/rope_examples/itunes/lib/reports.rb
|
84
60
|
- examples/rope_examples/itunes/lib/reports/playlist.rb
|
85
|
-
- examples/rope_examples/itunes/
|
61
|
+
- examples/rope_examples/itunes/log/ruport.log
|
62
|
+
- examples/rope_examples/itunes/test/test_playlist.rb
|
86
63
|
- examples/rope_examples/itunes/util/build
|
87
64
|
- examples/rope_examples/itunes/util/sql_exec
|
65
|
+
- examples/rope_examples/sales_report/config
|
66
|
+
- examples/rope_examples/sales_report/data
|
67
|
+
- examples/rope_examples/sales_report/lib
|
68
|
+
- examples/rope_examples/sales_report/log
|
69
|
+
- examples/rope_examples/sales_report/output
|
70
|
+
- examples/rope_examples/sales_report/Rakefile
|
71
|
+
- examples/rope_examples/sales_report/README
|
72
|
+
- examples/rope_examples/sales_report/sql
|
73
|
+
- examples/rope_examples/sales_report/templates
|
74
|
+
- examples/rope_examples/sales_report/test
|
75
|
+
- examples/rope_examples/sales_report/util
|
76
|
+
- examples/rope_examples/sales_report/config/ruport_config.rb
|
77
|
+
- examples/rope_examples/sales_report/lib/helpers.rb
|
78
|
+
- examples/rope_examples/sales_report/lib/init.rb
|
79
|
+
- examples/rope_examples/sales_report/lib/reports
|
80
|
+
- examples/rope_examples/sales_report/lib/reports.rb
|
81
|
+
- examples/rope_examples/sales_report/lib/reports/sales.rb
|
82
|
+
- examples/rope_examples/sales_report/log/ruport.log
|
83
|
+
- examples/rope_examples/sales_report/output/books.pdf
|
84
|
+
- examples/rope_examples/sales_report/output/books.txt
|
85
|
+
- examples/rope_examples/sales_report/test/test_sales.rb
|
86
|
+
- examples/rope_examples/sales_report/util/build
|
87
|
+
- examples/rope_examples/sales_report/util/sql_exec
|
88
88
|
- lib/ruport
|
89
|
-
- lib/uport.rb
|
90
89
|
- lib/ruport.rb
|
91
|
-
- lib/
|
92
|
-
- lib/ruport/
|
93
|
-
- lib/ruport/
|
90
|
+
- lib/uport.rb
|
91
|
+
- lib/ruport/attempt.rb
|
92
|
+
- lib/ruport/config.rb
|
94
93
|
- lib/ruport/data
|
95
|
-
- lib/ruport/
|
94
|
+
- lib/ruport/data.rb
|
95
|
+
- lib/ruport/extensions.rb
|
96
|
+
- lib/ruport/format
|
97
|
+
- lib/ruport/format.rb
|
98
|
+
- lib/ruport/generator.rb
|
96
99
|
- lib/ruport/layout
|
97
100
|
- lib/ruport/layout.rb
|
98
|
-
- lib/ruport/
|
99
|
-
- lib/ruport/
|
100
|
-
- lib/ruport/format.rb
|
101
|
-
- lib/ruport/extensions.rb
|
102
|
-
- lib/ruport/system_extensions.rb
|
101
|
+
- lib/ruport/mailer.rb
|
102
|
+
- lib/ruport/query
|
103
103
|
- lib/ruport/query.rb
|
104
|
-
- lib/ruport/
|
104
|
+
- lib/ruport/renderer
|
105
105
|
- lib/ruport/renderer.rb
|
106
|
-
- lib/ruport/
|
107
|
-
- lib/ruport/data.rb
|
106
|
+
- lib/ruport/report
|
108
107
|
- lib/ruport/report.rb
|
108
|
+
- lib/ruport/system_extensions.rb
|
109
|
+
- lib/ruport/data/groupable.rb
|
110
|
+
- lib/ruport/data/record.rb
|
111
|
+
- lib/ruport/data/table.rb
|
112
|
+
- lib/ruport/data/taggable.rb
|
113
|
+
- lib/ruport/format/csv.rb
|
114
|
+
- lib/ruport/format/html.rb
|
109
115
|
- lib/ruport/format/latex.rb
|
116
|
+
- lib/ruport/format/pdf.rb
|
110
117
|
- lib/ruport/format/plugin.rb
|
111
118
|
- lib/ruport/format/svg.rb
|
112
|
-
- lib/ruport/format/xml.rb
|
113
|
-
- lib/ruport/format/html.rb
|
114
119
|
- lib/ruport/format/text.rb
|
115
|
-
- lib/ruport/format/
|
116
|
-
- lib/ruport/
|
120
|
+
- lib/ruport/format/xml.rb
|
121
|
+
- lib/ruport/layout/component.rb
|
117
122
|
- lib/ruport/query/sql_split.rb
|
118
123
|
- lib/ruport/renderer/graph.rb
|
119
124
|
- lib/ruport/renderer/table.rb
|
120
|
-
- lib/ruport/data/record.rb
|
121
|
-
- lib/ruport/data/groupable.rb
|
122
|
-
- lib/ruport/data/taggable.rb
|
123
|
-
- lib/ruport/data/table.rb
|
124
125
|
- lib/ruport/report/graph.rb
|
125
|
-
-
|
126
|
+
- test/_test_database.rb
|
126
127
|
- test/samples
|
127
|
-
- test/
|
128
|
-
- test/test_groupable.rb
|
129
|
-
- test/test_table.rb
|
130
|
-
- test/test_graph_renderer.rb
|
131
|
-
- test/test_ruport.rb
|
128
|
+
- test/test_config.rb
|
132
129
|
- test/test_format_text.rb
|
133
|
-
- test/
|
130
|
+
- test/test_graph_renderer.rb
|
131
|
+
- test/test_groupable.rb
|
132
|
+
- test/test_mailer.rb
|
134
133
|
- test/test_query.rb
|
135
|
-
- test/
|
136
|
-
- test/test_taggable.rb
|
134
|
+
- test/test_record.rb
|
137
135
|
- test/test_renderer.rb
|
138
|
-
- test/test_mailer.rb
|
139
|
-
- test/test_sql_split.rb
|
140
136
|
- test/test_report.rb
|
137
|
+
- test/test_ruport.rb
|
138
|
+
- test/test_sql_split.rb
|
139
|
+
- test/test_table.rb
|
141
140
|
- test/test_table_renderer.rb
|
142
|
-
- test/
|
143
|
-
- test/samples/
|
141
|
+
- test/test_taggable.rb
|
142
|
+
- test/samples/addressbook.csv
|
144
143
|
- test/samples/data.csv
|
145
|
-
- test/samples/foo.rtxt
|
146
144
|
- test/samples/data.tsv
|
147
|
-
- test/samples/erb_test.sql
|
148
|
-
- test/samples/stonecodeblog.sql
|
149
|
-
- test/samples/ruport_test.sql
|
150
|
-
- test/samples/addressbook.csv
|
151
145
|
- test/samples/dates.csv
|
152
146
|
- test/samples/document.xml
|
147
|
+
- test/samples/erb_test.sql
|
148
|
+
- test/samples/foo.rtxt
|
149
|
+
- test/samples/query_test.sql
|
150
|
+
- test/samples/ruport_test.sql
|
151
|
+
- test/samples/stonecodeblog.sql
|
153
152
|
- test/samples/test.sql
|
153
|
+
- test/samples/test.yaml
|
154
154
|
- bin/rope
|
155
155
|
- Rakefile
|
156
156
|
- setup.rb
|
@@ -159,20 +159,20 @@ files:
|
|
159
159
|
- TODO
|
160
160
|
- AUTHORS
|
161
161
|
test_files:
|
162
|
-
- test/
|
163
|
-
- test/test_groupable.rb
|
164
|
-
- test/test_table.rb
|
165
|
-
- test/test_graph_renderer.rb
|
166
|
-
- test/test_ruport.rb
|
162
|
+
- test/test_config.rb
|
167
163
|
- test/test_format_text.rb
|
164
|
+
- test/test_graph_renderer.rb
|
165
|
+
- test/test_groupable.rb
|
166
|
+
- test/test_mailer.rb
|
168
167
|
- test/test_query.rb
|
169
|
-
- test/
|
170
|
-
- test/test_taggable.rb
|
168
|
+
- test/test_record.rb
|
171
169
|
- test/test_renderer.rb
|
172
|
-
- test/test_mailer.rb
|
173
|
-
- test/test_sql_split.rb
|
174
170
|
- test/test_report.rb
|
171
|
+
- test/test_ruport.rb
|
172
|
+
- test/test_sql_split.rb
|
173
|
+
- test/test_table.rb
|
175
174
|
- test/test_table_renderer.rb
|
175
|
+
- test/test_taggable.rb
|
176
176
|
rdoc_options:
|
177
177
|
- --title
|
178
178
|
- Ruport Documentation
|