ruport 0.8.11 → 0.8.12

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -23,7 +23,7 @@ end
23
23
 
24
24
  spec = Gem::Specification.new do |spec|
25
25
  spec.name = LEAN ? "lean-ruport" : "ruport"
26
- spec.version = "0.8.11"
26
+ spec.version = "0.8.12"
27
27
  spec.platform = Gem::Platform::RUBY
28
28
  spec.summary = "A generalized Ruby report generation and templating engine."
29
29
  spec.files = Dir.glob("{examples,lib,test,bin}/**/**/*") +
@@ -50,7 +50,7 @@ spec = Gem::Specification.new do |spec|
50
50
  spec.author = "Gregory Brown"
51
51
  spec.email = " gregory.t.brown@gmail.com"
52
52
  spec.rubyforge_project = "ruport"
53
- spec.homepage = "http://reporting.stonecode.org"
53
+ spec.homepage = "http://code.rubyreports.org"
54
54
  spec.description = <<END_DESC
55
55
  Ruby Reports is a software library that aims to make the task of reporting
56
56
  less tedious and painful. It provides tools for data acquisition,
@@ -12,7 +12,7 @@
12
12
 
13
13
  module Ruport
14
14
 
15
- VERSION = "0.8.11"
15
+ VERSION = "0.8.12"
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
@@ -81,4 +81,4 @@ require "ruport/format"
81
81
  require "ruport/query"
82
82
  require "ruport/mailer"
83
83
  require "ruport/layout"
84
- require "ruport/renderer"
84
+ require "ruport/renderer"
@@ -228,7 +228,7 @@ module Ruport::Data
228
228
  when Symbol
229
229
  send(name)
230
230
  when String
231
- self[name]
231
+ self[attributes.find { |a| a.to_s.eql?(name)}]
232
232
  else
233
233
  raise "Whatchu Talkin' Bout, Willis?"
234
234
  end
@@ -204,7 +204,7 @@ module Ruport::Data
204
204
  # one = Table.new :data => [[1,2], [3,4]],
205
205
  # :column_names => %w[a b]
206
206
  #
207
- # two = one.reorder!([1,0])
207
+ # two = one.reorder([1,0])
208
208
  #
209
209
  def reorder(*indices)
210
210
  indices = indices[0] if indices[0].kind_of? Array
@@ -370,8 +370,8 @@ module Ruport::Data
370
370
  #
371
371
  # Using column_names and a range:
372
372
  #
373
- # sub_table = table.sub_table(%w[a b],1..-2)
374
- # sub_table == [[1,2],[3,4]].to_table(%w[a b]) #=> true
373
+ # sub_table = table.sub_table(%w[a b],1..-1)
374
+ # sub_table == [[5,6],[9,10]].to_table(%w[a b]) #=> true
375
375
  #
376
376
  # Using just column_names:
377
377
  #
@@ -381,7 +381,7 @@ module Ruport::Data
381
381
  # Using column_names and a block:
382
382
  #
383
383
  # sub_table = table.sub_table(%w[d b]) { |r| r.a < 6 }
384
- # sub_table == [[4,2],[8,6]].to_table(%w[b d]) #=> true
384
+ # sub_table == [[4,2],[8,6]].to_table(%w[d b]) #=> true
385
385
  #
386
386
  # Using just a block:
387
387
  #
@@ -401,7 +401,7 @@ module Ruport::Data
401
401
  end
402
402
  end
403
403
 
404
- # returns an array of values for the given column_name
404
+ # returns an array of values for the given column name
405
405
  def column(name)
406
406
  case(name)
407
407
  when Integer
@@ -4,10 +4,15 @@
4
4
  begin
5
5
  require 'mocha'
6
6
  require 'stubba'
7
- require 'dbi'
8
7
  rescue LoadError
9
8
  $stderr.puts "Warning: Mocha not found -- skipping some Query tests"
10
9
  end
10
+
11
+ begin
12
+ require 'dbi'
13
+ rescue LoadError
14
+ $stderr.puts "Warning: DBI not found -- skipping some Query tests"
15
+ end
11
16
 
12
17
  class TestQuery < Test::Unit::TestCase
13
18
  def setup
@@ -44,199 +49,185 @@
44
49
  }
45
50
  @query[:precached].cached_data = @data[0]
46
51
  end
52
+
53
+ if Object.const_defined? :Mocha and Object.const_defined? :DBI
47
54
 
48
- def test_execute
49
- return unless Object.const_defined? :Mocha
50
- query = @query[:uncached]
51
- setup_mock_dbi(1)
52
-
53
- assert_equal nil, query.execute
54
- end
55
-
56
- def test_execute_sourced
57
- return unless Object.const_defined? :Mocha
58
- query = @query[:sourced]
59
- setup_mock_dbi(1, :source => :alternative)
60
-
61
- assert_equal nil, query.execute
62
- end
63
-
64
- def test_execute_paramed
65
- return unless Object.const_defined? :Mocha
66
- query = @query[:paramed]
67
- setup_mock_dbi(1, :params => [ 42 ])
68
-
69
- assert_equal nil, query.execute
70
- end
55
+ def test_execute
56
+ query = @query[:uncached]
57
+ setup_mock_dbi(1)
71
58
 
72
- def test_result_cache_disabled
73
- return unless Object.const_defined? :Mocha
74
- query = @query[:uncached]
75
- setup_mock_dbi(3)
76
-
77
- assert_nothing_raised { query.result }
78
- assert_equal @data[1], get_raw(query.result)
79
- assert_equal @data[2], get_raw(query.result)
59
+ assert_equal nil, query.execute
60
+ end
80
61
 
81
- end
82
62
 
83
- def test_result_cache_enabled
84
- return unless Object.const_defined? :Mocha
85
- query = @query[:cached]
63
+ def test_execute_sourced
64
+ query = @query[:sourced]
65
+ setup_mock_dbi(1, :source => :alternative)
66
+
67
+ assert_equal nil, query.execute
68
+ end
69
+
70
+ def test_execute_paramed
71
+ query = @query[:paramed]
72
+ setup_mock_dbi(1, :params => [ 42 ])
73
+
74
+ assert_equal nil, query.execute
75
+ end
76
+
77
+ def test_result_cache_disabled
78
+ query = @query[:uncached]
79
+ setup_mock_dbi(3)
80
+
81
+ assert_nothing_raised { query.result }
82
+ assert_equal @data[1], get_raw(query.result)
83
+ assert_equal @data[2], get_raw(query.result)
86
84
 
87
- setup_mock_dbi(1)
88
-
89
- assert_nothing_raised { query.result }
90
- assert_equal @data[0], get_raw(query.result)
91
- assert_equal @data[0], get_raw(query.result)
92
- end
93
-
94
- def test_result_resultless
95
- return unless Object.const_defined? :Mocha
96
- query = @query[:resultless]
97
- setup_mock_dbi(1, :resultless => true, :sql => @sql[1])
98
-
99
- assert_equal nil, query.result
100
- end
101
-
102
- def test_result_multi
103
- return unless Object.const_defined? :Mocha
104
- query = @query[:multi]
105
- setup_mock_dbi(2)
106
-
107
- assert_equal @data[1], get_raw(query.result)
108
- end
109
-
110
- def test_result_raw_disabled
111
- return unless Object.const_defined? :Mocha
112
- query = @query[:unraw]
113
- setup_mock_dbi(1)
114
-
115
- assert_equal @data[0].to_table(@columns), query.result
116
- end
117
-
118
- def test_result_raw_enabled
119
- return unless Object.const_defined? :Mocha
120
- query = @query[:raw]
121
- setup_mock_dbi(1)
122
-
123
- assert_equal @data[0], query.result
124
- end
125
-
126
- def test_update_cache
127
- return unless Object.const_defined? :Mocha
128
- query = @query[:cached]
129
- setup_mock_dbi(2)
85
+ end
130
86
 
131
- assert_equal @data[0], get_raw(query.result)
132
- query.update_cache
133
- assert_equal @data[1], get_raw(query.cached_data)
134
- assert_equal @data[1], get_raw(query.result)
135
- end
136
-
137
- def test_clear_cache
138
- return unless Object.const_defined? :Mocha
139
- query = @query[:cached]
140
- setup_mock_dbi(2)
141
-
142
- assert_equal @data[0], get_raw(query.result)
87
+ def test_result_cache_enabled
88
+ query = @query[:cached]
143
89
 
144
- query.clear_cache
145
- assert_equal nil, query.cached_data
146
- assert_equal @data[1], get_raw(query.result)
147
- end
90
+ setup_mock_dbi(1)
91
+
92
+ assert_nothing_raised { query.result }
93
+ assert_equal @data[0], get_raw(query.result)
94
+ assert_equal @data[0], get_raw(query.result)
95
+ end
148
96
 
149
- def test_disable_caching
150
- return unless Object.const_defined? :Mocha
151
- query = @query[:cached]
152
- setup_mock_dbi(3)
153
-
154
- assert_equal @data[0], get_raw(query.result)
155
- assert_equal @data[0], get_raw(query.result)
156
- query.disable_caching
157
- assert_equal @data[1], get_raw(query.result)
158
- assert_equal @data[2], get_raw(query.result)
159
- end
160
-
161
- def test_enable_caching
162
- return unless Object.const_defined? :Mocha
163
- query = @query[:uncached]
164
- setup_mock_dbi(3)
165
-
166
- assert_equal @data[0], get_raw(query.result)
167
- assert_equal @data[1], get_raw(query.result)
168
- query.enable_caching
169
- assert_equal @data[2], get_raw(query.result)
170
- assert_equal @data[2], get_raw(query.result)
171
- end
172
-
173
- def test_load_file
174
- return unless Object.const_defined? :Mocha
175
- File.expects(:read).
176
- with("query_test.sql").
177
- returns("select * from foo\n")
178
-
179
- query = Ruport::Query.new "query_test.sql"
180
- assert_equal "select * from foo", query.sql
181
- end
182
-
183
- def test_load_file_erb
184
- return unless Object.const_defined? :Mocha
185
- @table = 'bar'
186
- File.expects(:read).
187
- with("query_test.sql").
188
- returns("select * from <%= @table %>\n")
97
+ def test_result_resultless
98
+ query = @query[:resultless]
99
+ setup_mock_dbi(1, :resultless => true, :sql => @sql[1])
100
+
101
+ assert_equal nil, query.result
102
+ end
103
+
104
+ def test_result_multi
105
+ query = @query[:multi]
106
+ setup_mock_dbi(2)
107
+
108
+ assert_equal @data[1], get_raw(query.result)
109
+ end
110
+
111
+ def test_result_raw_disabled
112
+ query = @query[:unraw]
113
+ setup_mock_dbi(1)
114
+
115
+ assert_equal @data[0].to_table(@columns), query.result
116
+ end
117
+
118
+ def test_result_raw_enabled
119
+ query = @query[:raw]
120
+ setup_mock_dbi(1)
121
+
122
+ assert_equal @data[0], query.result
123
+ end
124
+
125
+ def test_update_cache
126
+ query = @query[:cached]
127
+ setup_mock_dbi(2)
128
+
129
+ assert_equal @data[0], get_raw(query.result)
130
+ query.update_cache
131
+ assert_equal @data[1], get_raw(query.cached_data)
132
+ assert_equal @data[1], get_raw(query.result)
133
+ end
134
+
135
+ def test_clear_cache
136
+ query = @query[:cached]
137
+ setup_mock_dbi(2)
138
+
139
+ assert_equal @data[0], get_raw(query.result)
140
+
141
+ query.clear_cache
142
+ assert_equal nil, query.cached_data
143
+ assert_equal @data[1], get_raw(query.result)
144
+ end
189
145
 
190
- query = Ruport::Query.new "query_test.sql", :binding => binding
191
- assert_equal "select * from bar", query.sql
192
- end
193
-
194
- def test_load_file_not_found
195
- return unless Object.const_defined? :Mocha
196
- File.expects(:read).
197
- with("query_test.sql").
198
- raises(Errno::ENOENT)
199
- Ruport.expects(:log).
200
- with("Could not open query_test.sql",
201
- :status => :fatal, :exception => LoadError).
202
- raises(LoadError)
203
-
204
- assert_raises LoadError do
146
+ def test_disable_caching
147
+ query = @query[:cached]
148
+ setup_mock_dbi(3)
149
+
150
+ assert_equal @data[0], get_raw(query.result)
151
+ assert_equal @data[0], get_raw(query.result)
152
+ query.disable_caching
153
+ assert_equal @data[1], get_raw(query.result)
154
+ assert_equal @data[2], get_raw(query.result)
155
+ end
156
+
157
+ def test_enable_caching
158
+ query = @query[:uncached]
159
+ setup_mock_dbi(3)
160
+
161
+ assert_equal @data[0], get_raw(query.result)
162
+ assert_equal @data[1], get_raw(query.result)
163
+ query.enable_caching
164
+ assert_equal @data[2], get_raw(query.result)
165
+ assert_equal @data[2], get_raw(query.result)
166
+ end
167
+
168
+ def test_load_file
169
+ File.expects(:read).
170
+ with("query_test.sql").
171
+ returns("select * from foo\n")
172
+
205
173
  query = Ruport::Query.new "query_test.sql"
174
+ assert_equal "select * from foo", query.sql
206
175
  end
207
- end
208
-
209
- def test_each_cache_disabled
210
- return unless Object.const_defined? :Mocha
211
- query = @query[:uncached]
212
- setup_mock_dbi(2)
213
-
214
- result = []; query.each { |r| result << r.to_a }
215
- assert_equal @data[0], result
216
-
217
- result = []; query.each { |r| result << r.to_a }
218
- assert_equal @data[1], result
219
- end
220
176
 
221
- def test_each_cache_enabled
222
- return unless Object.const_defined? :Mocha
223
- query = @query[:cached]
224
- setup_mock_dbi(1)
177
+ def test_load_file_erb
178
+ @table = 'bar'
179
+ File.expects(:read).
180
+ with("query_test.sql").
181
+ returns("select * from <%= @table %>\n")
182
+
183
+ query = Ruport::Query.new "query_test.sql", :binding => binding
184
+ assert_equal "select * from bar", query.sql
185
+ end
186
+
187
+ def test_load_file_not_found
188
+ File.expects(:read).
189
+ with("query_test.sql").
190
+ raises(Errno::ENOENT)
191
+ Ruport.expects(:log).
192
+ with("Could not open query_test.sql",
193
+ :status => :fatal, :exception => LoadError).
194
+ raises(LoadError)
195
+
196
+ assert_raises LoadError do
197
+ query = Ruport::Query.new "query_test.sql"
198
+ end
199
+ end
200
+
201
+ def test_each_cache_disabled
202
+ query = @query[:uncached]
203
+ setup_mock_dbi(2)
204
+
205
+ result = []; query.each { |r| result << r.to_a }
206
+ assert_equal @data[0], result
207
+
208
+ result = []; query.each { |r| result << r.to_a }
209
+ assert_equal @data[1], result
210
+ end
225
211
 
226
- result = []; query.each { |r| result << r.to_a }
227
- assert_equal @data[0], result
228
-
229
- result = []; query.each { |r| result << r.to_a }
230
- assert_equal @data[0], result
231
- end
232
-
233
- def test_each_multi
234
- return unless Object.const_defined? :Mocha
235
- query = @query[:multi]
236
- setup_mock_dbi(2)
237
-
238
- result = []; query.each { |r| result << r.to_a }
239
- assert_equal @data[1], result
212
+ def test_each_cache_enabled
213
+ query = @query[:cached]
214
+ setup_mock_dbi(1)
215
+
216
+ result = []; query.each { |r| result << r.to_a }
217
+ assert_equal @data[0], result
218
+
219
+ result = []; query.each { |r| result << r.to_a }
220
+ assert_equal @data[0], result
221
+ end
222
+
223
+ def test_each_multi
224
+ query = @query[:multi]
225
+ setup_mock_dbi(2)
226
+
227
+ result = []; query.each { |r| result << r.to_a }
228
+ assert_equal @data[1], result
229
+ end
230
+
240
231
  end
241
232
 
242
233
  def test_each_without_block
@@ -275,26 +266,28 @@
275
266
  assert_equal @data[0][2], gen.next
276
267
  assert_raise(EOFError) { gen.next }
277
268
  end
269
+
270
+ if Object.const_defined? :Mocha and Object.const_defined? :DBI
278
271
 
279
- def test_to_table
280
- return unless Object.const_defined? :Mocha
281
- query = @query[:raw]
282
- setup_mock_dbi(3, :returns => @data[0])
283
-
284
- assert_equal @data[0], query.result
285
- assert_equal @data[0].to_table(@columns), query.to_table
286
- assert_equal @data[0], query.result
272
+ def test_to_table
273
+ query = @query[:raw]
274
+ setup_mock_dbi(3, :returns => @data[0])
275
+
276
+ assert_equal @data[0], query.result
277
+ assert_equal @data[0].to_table(@columns), query.to_table
278
+ assert_equal @data[0], query.result
279
+ end
280
+
281
+ def test_to_csv
282
+ query = @query[:plain]
283
+ setup_mock_dbi(1)
284
+
285
+ csv = @data[0].to_table(@columns).as(:csv)
286
+ assert_equal csv, query.to_csv
287
+ end
288
+
287
289
  end
288
-
289
- def test_to_csv
290
- return unless Object.const_defined? :Mocha
291
- query = @query[:plain]
292
- setup_mock_dbi(1)
293
290
 
294
- csv = @data[0].to_table(@columns).as(:csv)
295
- assert_equal csv, query.to_csv
296
- end
297
-
298
291
  private
299
292
  def setup_mock_dbi(count, options={})
300
293
  sql = options[:sql] || @sql[0]
@@ -201,6 +201,21 @@ class TestRecord < Test::Unit::TestCase
201
201
  assert_equal 3,r.length
202
202
  assert_equal 3,r.size
203
203
  end
204
+
205
+ def test_reindex
206
+ assert_equal %w[a b c d], @record.attributes
207
+ #old_object_id = @record.instance_variable_get(:@attributes).object_id
208
+
209
+ @record.send(:reindex, a=%w[apple banana courier django])
210
+ assert_equal %w[apple banana courier django], @record.attributes
211
+
212
+ new_object_id = @record.instance_variable_get(:@attributes).object_id
213
+ assert_equal a.object_id, new_object_id
214
+ end
215
+
216
+ #----------------------------------------------------------------------
217
+ # BUG Traps
218
+ #----------------------------------------------------------------------
204
219
 
205
220
  def test_ensure_records_dup_source_data
206
221
  a = [1,2,3]
@@ -216,17 +231,6 @@ class TestRecord < Test::Unit::TestCase
216
231
  assert_equal 1, a["a"]
217
232
  end
218
233
 
219
- def test_reindex
220
- assert_equal %w[a b c d], @record.attributes
221
- #old_object_id = @record.instance_variable_get(:@attributes).object_id
222
-
223
- @record.send(:reindex, a=%w[apple banana courier django])
224
- assert_equal %w[apple banana courier django], @record.attributes
225
-
226
- new_object_id = @record.instance_variable_get(:@attributes).object_id
227
- assert_equal a.object_id, new_object_id
228
- end
229
-
230
234
  def test_ensure_tags_get_duped
231
235
  a = Record.new([1,2,3])
232
236
  a.tag :foo
@@ -234,8 +238,16 @@ class TestRecord < Test::Unit::TestCase
234
238
  b = a.dup
235
239
  assert b.tags.include?(:foo)
236
240
  assert_not_same a.tags, b.tags
241
+ end
242
+
243
+ # Ticket #172
244
+ def test_ensure_get_really_indifferent
245
+ a = Record.new({"a" => 1, "b" => 2})
246
+ assert_equal(2,a.get("b"))
247
+ assert_equal(2,a.get(:b))
248
+ a = Record.new({:a => 1, :b => 2})
249
+ assert_equal(2,a.get("b"))
250
+ assert_equal(2,a.get(:b))
237
251
  end
238
252
 
239
-
240
-
241
- end
253
+ end
metadata CHANGED
@@ -3,13 +3,13 @@ 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.11
7
- date: 2007-03-05 00:00:00 -05:00
6
+ version: 0.8.12
7
+ date: 2007-03-14 00:00:00 -04:00
8
8
  summary: A generalized Ruby report generation and templating engine.
9
9
  require_paths:
10
10
  - lib
11
11
  email: " gregory.t.brown@gmail.com"
12
- homepage: http://reporting.stonecode.org
12
+ homepage: http://code.rubyreports.org
13
13
  rubyforge_project: ruport
14
14
  description: Ruby Reports is a software library that aims to make the task of reporting less tedious and painful. It provides tools for data acquisition, database interaction, formatting, and parsing/munging.
15
15
  autorequire:
@@ -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
32
34
  - examples/centered_pdf_text_box.rb
33
- - examples/invoice.rb
35
+ - examples/line_plotter.rb
34
36
  - examples/invoice_report.rb
35
37
  - examples/line_graph.rb
36
- - examples/line_plotter.rb
37
38
  - examples/pdf_complex_report.rb
39
+ - examples/invoice.rb
38
40
  - examples/pdf_table_with_title.rb
39
- - examples/rope_examples
40
- - examples/RWEmerson.jpg
41
- - examples/rope_examples/itunes
42
41
  - examples/rope_examples/sales_report
43
- - examples/rope_examples/itunes/config
44
- - examples/rope_examples/itunes/data
45
- - examples/rope_examples/itunes/lib
46
- - examples/rope_examples/itunes/log
47
- - examples/rope_examples/itunes/output
48
- - examples/rope_examples/itunes/Rakefile
49
- - examples/rope_examples/itunes/README
50
- - examples/rope_examples/itunes/sql
51
- - examples/rope_examples/itunes/templates
52
- - examples/rope_examples/itunes/test
53
- - examples/rope_examples/itunes/util
54
- - examples/rope_examples/itunes/config/ruport_config.rb
55
- - examples/rope_examples/itunes/data/mix.txt
56
- - examples/rope_examples/itunes/lib/helpers.rb
57
- - examples/rope_examples/itunes/lib/init.rb
58
- - examples/rope_examples/itunes/lib/reports
59
- - examples/rope_examples/itunes/lib/reports.rb
60
- - examples/rope_examples/itunes/lib/reports/playlist.rb
61
- - examples/rope_examples/itunes/log/ruport.log
62
- - examples/rope_examples/itunes/test/test_playlist.rb
63
- - examples/rope_examples/itunes/util/build
64
- - examples/rope_examples/itunes/util/sql_exec
42
+ - examples/rope_examples/itunes
43
+ - examples/rope_examples/sales_report/sql
44
+ - examples/rope_examples/sales_report/test
45
+ - examples/rope_examples/sales_report/output
46
+ - examples/rope_examples/sales_report/log
65
47
  - examples/rope_examples/sales_report/config
66
- - examples/rope_examples/sales_report/data
67
48
  - examples/rope_examples/sales_report/lib
68
- - examples/rope_examples/sales_report/log
69
- - examples/rope_examples/sales_report/output
49
+ - examples/rope_examples/sales_report/data
50
+ - examples/rope_examples/sales_report/util
51
+ - examples/rope_examples/sales_report/templates
70
52
  - examples/rope_examples/sales_report/Rakefile
71
53
  - 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
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
76
58
  - 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
59
  - examples/rope_examples/sales_report/lib/reports
80
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
81
63
  - 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
64
  - examples/rope_examples/sales_report/util/build
87
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
70
+ - examples/rope_examples/itunes/config
71
+ - examples/rope_examples/itunes/lib
72
+ - examples/rope_examples/itunes/data
73
+ - examples/rope_examples/itunes/util
74
+ - examples/rope_examples/itunes/templates
75
+ - examples/rope_examples/itunes/Rakefile
76
+ - examples/rope_examples/itunes/README
77
+ - examples/rope_examples/itunes/test/test_playlist.rb
78
+ - examples/rope_examples/itunes/log/ruport.log
79
+ - examples/rope_examples/itunes/config/ruport_config.rb
80
+ - examples/rope_examples/itunes/lib/reports
81
+ - examples/rope_examples/itunes/lib/reports.rb
82
+ - examples/rope_examples/itunes/lib/helpers.rb
83
+ - examples/rope_examples/itunes/lib/init.rb
84
+ - examples/rope_examples/itunes/lib/reports/playlist.rb
85
+ - examples/rope_examples/itunes/data/mix.txt
86
+ - examples/rope_examples/itunes/util/build
87
+ - examples/rope_examples/itunes/util/sql_exec
88
88
  - lib/ruport
89
- - lib/ruport.rb
90
89
  - lib/uport.rb
91
- - lib/ruport/attempt.rb
92
- - lib/ruport/config.rb
93
- - lib/ruport/data
94
- - lib/ruport/data.rb
95
- - lib/ruport/extensions.rb
90
+ - lib/ruport.rb
96
91
  - lib/ruport/format
97
- - lib/ruport/format.rb
98
- - lib/ruport/generator.rb
92
+ - lib/ruport/query
93
+ - lib/ruport/renderer
94
+ - lib/ruport/data
95
+ - lib/ruport/report
99
96
  - lib/ruport/layout
100
97
  - lib/ruport/layout.rb
101
- - lib/ruport/mailer.rb
102
- - lib/ruport/query
98
+ - lib/ruport/attempt.rb
99
+ - lib/ruport/generator.rb
100
+ - lib/ruport/format.rb
101
+ - lib/ruport/extensions.rb
102
+ - lib/ruport/system_extensions.rb
103
103
  - lib/ruport/query.rb
104
- - lib/ruport/renderer
104
+ - lib/ruport/config.rb
105
105
  - lib/ruport/renderer.rb
106
- - lib/ruport/report
106
+ - lib/ruport/mailer.rb
107
+ - lib/ruport/data.rb
107
108
  - 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
115
109
  - lib/ruport/format/latex.rb
116
- - lib/ruport/format/pdf.rb
117
110
  - lib/ruport/format/plugin.rb
118
111
  - lib/ruport/format/svg.rb
119
- - lib/ruport/format/text.rb
120
112
  - lib/ruport/format/xml.rb
121
- - lib/ruport/layout/component.rb
113
+ - lib/ruport/format/html.rb
114
+ - lib/ruport/format/text.rb
115
+ - lib/ruport/format/pdf.rb
116
+ - lib/ruport/format/csv.rb
122
117
  - lib/ruport/query/sql_split.rb
123
118
  - lib/ruport/renderer/graph.rb
124
119
  - 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
125
124
  - lib/ruport/report/graph.rb
126
- - test/_test_database.rb
125
+ - lib/ruport/layout/component.rb
127
126
  - test/samples
128
- - test/test_config.rb
129
- - test/test_format_text.rb
130
- - test/test_graph_renderer.rb
127
+ - test/test_record.rb
131
128
  - test/test_groupable.rb
132
- - test/test_mailer.rb
129
+ - test/test_table.rb
130
+ - test/test_graph_renderer.rb
131
+ - test/test_ruport.rb
132
+ - test/test_format_text.rb
133
+ - test/_test_database.rb
133
134
  - test/test_query.rb
134
- - test/test_record.rb
135
+ - test/test_config.rb
136
+ - test/test_taggable.rb
135
137
  - test/test_renderer.rb
136
- - test/test_report.rb
137
- - test/test_ruport.rb
138
+ - test/test_mailer.rb
138
139
  - test/test_sql_split.rb
139
- - test/test_table.rb
140
+ - test/test_report.rb
140
141
  - test/test_table_renderer.rb
141
- - test/test_taggable.rb
142
- - test/samples/addressbook.csv
142
+ - test/samples/test.yaml
143
+ - test/samples/query_test.sql
143
144
  - test/samples/data.csv
145
+ - test/samples/foo.rtxt
144
146
  - test/samples/data.tsv
145
- - test/samples/dates.csv
146
- - test/samples/document.xml
147
147
  - test/samples/erb_test.sql
148
- - test/samples/foo.rtxt
149
- - test/samples/query_test.sql
150
- - test/samples/ruport_test.sql
151
148
  - test/samples/stonecodeblog.sql
149
+ - test/samples/ruport_test.sql
150
+ - test/samples/addressbook.csv
151
+ - test/samples/dates.csv
152
+ - test/samples/document.xml
152
153
  - 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/test_config.rb
163
- - test/test_format_text.rb
164
- - test/test_graph_renderer.rb
162
+ - test/test_record.rb
165
163
  - test/test_groupable.rb
166
- - test/test_mailer.rb
164
+ - test/test_table.rb
165
+ - test/test_graph_renderer.rb
166
+ - test/test_ruport.rb
167
+ - test/test_format_text.rb
167
168
  - test/test_query.rb
168
- - test/test_record.rb
169
+ - test/test_config.rb
170
+ - test/test_taggable.rb
169
171
  - test/test_renderer.rb
170
- - test/test_report.rb
171
- - test/test_ruport.rb
172
+ - test/test_mailer.rb
172
173
  - test/test_sql_split.rb
173
- - test/test_table.rb
174
+ - test/test_report.rb
174
175
  - test/test_table_renderer.rb
175
- - test/test_taggable.rb
176
176
  rdoc_options:
177
177
  - --title
178
178
  - Ruport Documentation