ruport 0.8.11 → 0.8.12

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 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