ruport-util 0.7.2 → 0.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.
- data/INSTALL +2 -2
- data/Rakefile +2 -2
- data/lib/ruport/util/generator.rb +4 -3
- data/lib/ruport/util/mailer.rb +12 -13
- data/lib/ruport/util/report.rb +9 -7
- data/lib/ruport/util/report_manager.rb +1 -5
- data/lib/ruport/util.rb +1 -1
- data/test/test_report.rb +10 -2
- metadata +26 -26
data/INSTALL
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
ruport-util provides a home for marooned former parts of Ruby Reports,
|
4
4
|
and newer fringe ideas.
|
5
5
|
|
6
|
-
Support as of 2007.
|
6
|
+
Support as of 2007.08.28:
|
7
7
|
|
8
8
|
* Basic Graphing (util/graph)
|
9
9
|
* Report runner (util/report)
|
@@ -20,7 +20,7 @@ See example/ for more information
|
|
20
20
|
|
21
21
|
== Getting Ruport
|
22
22
|
|
23
|
-
To use ruport-util, you'll need Ruport >=
|
23
|
+
To use ruport-util >= 0.8.0, you'll need Ruport >= 1.2.0
|
24
24
|
|
25
25
|
sudo gem install ruport -y
|
26
26
|
|
data/Rakefile
CHANGED
@@ -33,7 +33,7 @@ end
|
|
33
33
|
|
34
34
|
spec = Gem::Specification.new do |spec|
|
35
35
|
spec.name = "ruport-util"
|
36
|
-
spec.version = "0.
|
36
|
+
spec.version = "0.8.0"
|
37
37
|
spec.platform = Gem::Platform::RUBY
|
38
38
|
spec.summary = "A set of tools and helper libs for Ruby Reports"
|
39
39
|
spec.files = Dir.glob("{example,lib,test,bin}/**/**/*") +
|
@@ -48,7 +48,7 @@ spec = Gem::Specification.new do |spec|
|
|
48
48
|
spec.extra_rdoc_files = %w{INSTALL}
|
49
49
|
spec.rdoc_options << '--title' << 'ruport-util Documentation' <<
|
50
50
|
'--main' << 'INSTALL' << '-q'
|
51
|
-
spec.add_dependency('ruport', ">=
|
51
|
+
spec.add_dependency('ruport', ">=1.2.0")
|
52
52
|
spec.add_dependency('scruffy', ">=0.2.2")
|
53
53
|
spec.add_dependency('mailfactory',">=1.2.3")
|
54
54
|
spec.add_dependency('rubyzip','>=0.9.1')
|
@@ -80,14 +80,14 @@ module Ruport
|
|
80
80
|
mkdir project
|
81
81
|
puts "creating directories.."
|
82
82
|
%w[ test config output data data/models lib lib/reports
|
83
|
-
lib/renderers
|
83
|
+
lib/renderers sql util ].each do |d|
|
84
84
|
m="#{project}/#{d}"
|
85
85
|
puts " #{m}"
|
86
86
|
mkdir(m)
|
87
87
|
end
|
88
88
|
|
89
89
|
puts "creating files.."
|
90
|
-
%w[reports helpers renderers].each { |f|
|
90
|
+
%w[reports helpers renderers templates].each { |f|
|
91
91
|
m = "#{project}/lib/#{f}.rb"
|
92
92
|
puts " #{m}"
|
93
93
|
touch(m)
|
@@ -175,7 +175,7 @@ REP = <<EOR
|
|
175
175
|
require "lib/init"
|
176
176
|
class #{class_name} < Ruport::Report
|
177
177
|
|
178
|
-
def renderable_data
|
178
|
+
def renderable_data(format)
|
179
179
|
|
180
180
|
end
|
181
181
|
|
@@ -283,6 +283,7 @@ require "ruport"
|
|
283
283
|
require "ruport/util"
|
284
284
|
require "lib/helpers"
|
285
285
|
require "config/environment"
|
286
|
+
require "lib/templates"
|
286
287
|
END_INIT
|
287
288
|
|
288
289
|
README = <<END_README
|
data/lib/ruport/util/mailer.rb
CHANGED
@@ -22,8 +22,7 @@ module Ruport
|
|
22
22
|
|
23
23
|
extend Forwardable
|
24
24
|
|
25
|
-
# Creates a new Mailer object. Optionally, you can select a mailer
|
26
|
-
# specified by Ruport::Config.
|
25
|
+
# Creates a new Mailer object. Optionally, you can select a mailer by label
|
27
26
|
#
|
28
27
|
# Example:
|
29
28
|
#
|
@@ -31,7 +30,7 @@ module Ruport
|
|
31
30
|
# a = Mailer.new :foo # uses :foo mail config from Ruport::Config
|
32
31
|
#
|
33
32
|
def initialize( mailer_label=:default )
|
34
|
-
select_mailer(mailer_label)
|
33
|
+
select_mailer(mailer_label)
|
35
34
|
mail_object.from = @mailer.address if mail_object.from.to_s.empty?
|
36
35
|
rescue
|
37
36
|
raise "you need to specify a mailer to use"
|
@@ -55,20 +54,20 @@ module Ruport
|
|
55
54
|
# to 25.
|
56
55
|
# <b><tt>:auth_type</tt></b>:: SMTP authorization method. Optional,
|
57
56
|
# defaults to <tt>:plain</tt>.
|
58
|
-
# <b><tt>:
|
57
|
+
# <b><tt>:mail_class</tt></b>:: If you don't want to use the default
|
59
58
|
# <tt>MailFactory</tt> object, you can
|
60
59
|
# pass another mailer to use here.
|
61
60
|
#
|
62
61
|
# Example (creating a mailer config):
|
63
|
-
#
|
64
|
-
#
|
65
|
-
#
|
66
|
-
#
|
67
|
-
#
|
62
|
+
# add_mailer :alternate, :host => "mail.test.com",
|
63
|
+
# :address => "test@test.com",
|
64
|
+
# :user => "test",
|
65
|
+
# :password => "blinky"
|
66
|
+
# :auth_type => :cram_md5
|
68
67
|
#
|
69
68
|
# Example (retreiving a mailer config):
|
70
|
-
# mail_conf =
|
71
|
-
# mail_conf.address
|
69
|
+
# mail_conf = mailers[:alternate] #=> <OpenStruct ..>
|
70
|
+
# mail_conf.address #=> test@test.com
|
72
71
|
#
|
73
72
|
def add_mailer(name,options)
|
74
73
|
mailers[name] = OpenStruct.new(options)
|
@@ -119,12 +118,12 @@ module Ruport
|
|
119
118
|
@address = @mailer.address
|
120
119
|
@port = @mailer.port || 25
|
121
120
|
@auth = @mailer.auth_type || :plain
|
122
|
-
@
|
121
|
+
@mail_class = @mailer.mail_class
|
123
122
|
end
|
124
123
|
|
125
124
|
def mail_object
|
126
125
|
return @mail if @mail
|
127
|
-
return @mail ||= @
|
126
|
+
return @mail ||= @mail_class.new if @mail_class
|
128
127
|
require "mailfactory"
|
129
128
|
@mail ||= MailFactory.new
|
130
129
|
end
|
data/lib/ruport/util/report.rb
CHANGED
@@ -32,7 +32,7 @@ module Ruport
|
|
32
32
|
#
|
33
33
|
# renders_as_grouping(:style => :inline)
|
34
34
|
#
|
35
|
-
# def
|
35
|
+
# def renderable_data(format)
|
36
36
|
# table = Table("foo.csv")
|
37
37
|
# Grouping(table, :by => "username")
|
38
38
|
# end
|
@@ -81,9 +81,11 @@ module Ruport
|
|
81
81
|
q.result
|
82
82
|
end
|
83
83
|
end
|
84
|
-
|
85
|
-
def renderable_data
|
86
|
-
|
84
|
+
|
85
|
+
def renderable_data(format)
|
86
|
+
raise NotImplementedError,
|
87
|
+
"You must implement renderable_data(format) if you wish to use as()
|
88
|
+
or save_as()"
|
87
89
|
end
|
88
90
|
|
89
91
|
alias_method :old_as, :as
|
@@ -95,16 +97,16 @@ module Ruport
|
|
95
97
|
return output
|
96
98
|
end
|
97
99
|
|
98
|
-
def save_as(filename,options={})
|
100
|
+
def save_as(filename,options={},&block)
|
99
101
|
formats = { "csv" => ["w",:csv], "txt" => ["w",:text],
|
100
102
|
"html" => ["w", :html], "pdf" => ["wb", :pdf ] }
|
101
103
|
|
102
104
|
fo = filename =~ /.*\.(.*)/ && formats[$1]
|
103
105
|
flags = options.delete(:flags)
|
104
106
|
if fo
|
105
|
-
File.open(filename,flags || fo[0]) { |f| f << as(fo[1],options) }
|
107
|
+
File.open(filename,flags || fo[0]) { |f| f << as(fo[1],options,&block) }
|
106
108
|
else
|
107
|
-
File.open(filename,flags || "w") { |f| f << as($1.to_sym,options) }
|
109
|
+
File.open(filename,flags || "w") { |f| f << as($1.to_sym,options,&block) }
|
108
110
|
end
|
109
111
|
end
|
110
112
|
|
@@ -8,11 +8,7 @@ module Ruport
|
|
8
8
|
def self.add_report(*new_reports)
|
9
9
|
self.reports |= new_reports
|
10
10
|
end
|
11
|
-
|
12
|
-
# Looks in reports first, then models.
|
13
|
-
# if there is a conflict, you are F'ed.
|
14
|
-
#
|
15
|
-
# just kidding, use models#find or reports#find
|
11
|
+
|
16
12
|
def self.[](name)
|
17
13
|
(reports + models).find{|n| n.name == name }
|
18
14
|
end
|
data/lib/ruport/util.rb
CHANGED
data/test/test_report.rb
CHANGED
@@ -4,7 +4,7 @@ require 'net/smtp'
|
|
4
4
|
class SampleReport < Ruport::Report
|
5
5
|
renders_with Ruport::Renderer::Table
|
6
6
|
|
7
|
-
def
|
7
|
+
def renderable_data(format)
|
8
8
|
Table(%w[not abc]) << %w[o r] << %w[one two] << %w[thr ee]
|
9
9
|
end
|
10
10
|
end
|
@@ -13,7 +13,7 @@ class MyReport < Ruport::Report
|
|
13
13
|
|
14
14
|
attr_accessor :data
|
15
15
|
|
16
|
-
def
|
16
|
+
def renderable_data(format)
|
17
17
|
data
|
18
18
|
end
|
19
19
|
|
@@ -55,6 +55,14 @@ describe 'Writing Report to files' do
|
|
55
55
|
file_mock(mode = 'w', filename = 'foo.csv',
|
56
56
|
content = "not,abc\no,r\none,two\nthr,ee\n")
|
57
57
|
@report.save_as(filename).should_not be_nil
|
58
|
+
end
|
59
|
+
|
60
|
+
it 'should yield the renderer object' do
|
61
|
+
file_mock(mode = 'w', filename = 'foo.csv',
|
62
|
+
content = "not,abc\no,r\none,two\nthr,ee\n")
|
63
|
+
@report.save_as(filename) do |r|
|
64
|
+
r.should be_an_instance_of(Ruport::Renderer::Table)
|
65
|
+
end
|
58
66
|
end
|
59
67
|
end
|
60
68
|
|
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.2
|
|
3
3
|
specification_version: 1
|
4
4
|
name: ruport-util
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.
|
7
|
-
date: 2007-
|
6
|
+
version: 0.8.0
|
7
|
+
date: 2007-08-28 00:00:00 -04:00
|
8
8
|
summary: A set of tools and helper libs for Ruby Reports
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -30,50 +30,50 @@ authors:
|
|
30
30
|
- Gregory Brown
|
31
31
|
files:
|
32
32
|
- example/data
|
33
|
-
- example/data/blank.ods
|
34
|
-
- example/mailer.rb
|
35
33
|
- example/form.rb
|
36
|
-
- example/
|
34
|
+
- example/graph_report.rb
|
37
35
|
- example/invoice_report.rb
|
36
|
+
- example/mailer.rb
|
38
37
|
- example/managed_report.rb
|
39
|
-
- example/
|
38
|
+
- example/ods.rb
|
39
|
+
- example/data/blank.ods
|
40
40
|
- lib/ruport
|
41
41
|
- lib/ruport/util
|
42
|
-
- lib/ruport/util
|
43
|
-
- lib/ruport/util/pdf/form.rb
|
44
|
-
- lib/ruport/util/generator.rb
|
42
|
+
- lib/ruport/util.rb
|
45
43
|
- lib/ruport/util/bench.rb
|
44
|
+
- lib/ruport/util/generator.rb
|
46
45
|
- lib/ruport/util/graph.rb
|
47
|
-
- lib/ruport/util/
|
48
|
-
- lib/ruport/util/report_manager.rb
|
46
|
+
- lib/ruport/util/invoice.rb
|
49
47
|
- lib/ruport/util/mailer.rb
|
48
|
+
- lib/ruport/util/ods.rb
|
49
|
+
- lib/ruport/util/pdf
|
50
50
|
- lib/ruport/util/report.rb
|
51
|
-
- lib/ruport/util/
|
52
|
-
- lib/ruport/util.rb
|
51
|
+
- lib/ruport/util/report_manager.rb
|
52
|
+
- lib/ruport/util/pdf/form.rb
|
53
53
|
- test/helper
|
54
|
+
- test/helper.rb
|
55
|
+
- test/samples
|
56
|
+
- test/test_format_ods.rb
|
57
|
+
- test/test_graph_renderer.rb
|
58
|
+
- test/test_invoice.rb
|
59
|
+
- test/test_mailer.rb
|
60
|
+
- test/test_report.rb
|
61
|
+
- test/test_report_manager.rb
|
54
62
|
- test/helper/layout.rb
|
55
63
|
- test/helper/wrap.rb
|
56
|
-
- test/samples
|
57
64
|
- test/samples/data.csv
|
58
65
|
- test/samples/foo.rtxt
|
59
|
-
- test/test_mailer.rb
|
60
|
-
- test/helper.rb
|
61
|
-
- test/test_report_manager.rb
|
62
|
-
- test/test_graph_renderer.rb
|
63
|
-
- test/test_report.rb
|
64
|
-
- test/test_invoice.rb
|
65
|
-
- test/test_format_ods.rb
|
66
66
|
- bin/csv2ods
|
67
67
|
- bin/rope
|
68
68
|
- Rakefile
|
69
69
|
- INSTALL
|
70
70
|
test_files:
|
71
|
-
- test/
|
72
|
-
- test/test_report_manager.rb
|
71
|
+
- test/test_format_ods.rb
|
73
72
|
- test/test_graph_renderer.rb
|
74
|
-
- test/test_report.rb
|
75
73
|
- test/test_invoice.rb
|
76
|
-
- test/
|
74
|
+
- test/test_mailer.rb
|
75
|
+
- test/test_report.rb
|
76
|
+
- test/test_report_manager.rb
|
77
77
|
rdoc_options:
|
78
78
|
- --title
|
79
79
|
- ruport-util Documentation
|
@@ -97,7 +97,7 @@ dependencies:
|
|
97
97
|
requirements:
|
98
98
|
- - ">="
|
99
99
|
- !ruby/object:Gem::Version
|
100
|
-
version:
|
100
|
+
version: 1.2.0
|
101
101
|
version:
|
102
102
|
- !ruby/object:Gem::Dependency
|
103
103
|
name: scruffy
|