rapport 0.0.4

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.
@@ -0,0 +1,112 @@
1
+ require 'rubygems'
2
+ require 'bundler'
3
+
4
+ begin
5
+ Bundler.setup(:default, :development)
6
+ rescue Bundler::BundlerError => e
7
+ $stderr.puts e.message
8
+ $stderr.puts "Run `bundle install` to install missing gems"
9
+ exit e.status_code
10
+ end
11
+ require 'test/unit'
12
+ require 'shoulda'
13
+ require 'mocha'
14
+ require 'shared_should'
15
+ require 'always_execute'
16
+
17
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
18
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
19
+ require 'rapport'
20
+
21
+ Rapport.logger = Logger.new(
22
+ File.open(
23
+ File.join(
24
+ File.dirname(__FILE__),
25
+ 'logs',
26
+ 'test.log'
27
+ ),
28
+ 'w'
29
+ )
30
+ )
31
+
32
+ unless defined?(Rapport::ReportGeneratorTest)
33
+
34
+ class Object
35
+ class Bypass
36
+ instance_methods.each do |m|
37
+ undef_method m unless m =~ /^__/
38
+ end
39
+
40
+ def initialize(ref)
41
+ @ref = ref
42
+ end
43
+
44
+ def method_missing(sym, *args)
45
+ @ref.__send__(sym, *args)
46
+ end
47
+ end
48
+
49
+ def bypass
50
+ Bypass.new(self)
51
+ end
52
+ end
53
+
54
+ class Test::Unit::TestCase
55
+ share_should("return nil") do
56
+ assert_equal nil, @execute_result
57
+ end
58
+ end
59
+
60
+ class Rapport::TestReport
61
+ include Rapport::Report
62
+
63
+ def initialize(options = {})
64
+ self.options = options
65
+ end
66
+
67
+ def each_model
68
+ struct = Struct.new(:calc0, :m1)
69
+ (0..2).each do |r|
70
+ (0..3).map { |c| yield struct.new(r, c), :type0 }
71
+ end
72
+ raise options[:exception] if options[:exception]
73
+ (0..2).each do |r|
74
+ (0..3).map { |c| yield struct.new(r, c), :type1 }
75
+ end
76
+ end
77
+
78
+ column "Column 0", :calc0
79
+
80
+ column "Column 1", :calc1, :type0 => lambda { |m| 'T0 ' + m.m1.to_s },
81
+ :type1 => lambda { |m| 'T1 ' + m.m1.to_s },
82
+ :format => :happy
83
+
84
+ column "Column 2", :calc2, :map_to => lambda { |m| '~' + m.m1.to_s },
85
+ :format => lambda { |value| "Formatted" + value }
86
+
87
+ column "Column 3", :calc3, :map_to => lambda { |m| row_data[:calc2] + '~' + m.calc0.to_s },
88
+ :format_special => lambda { |value| "Formatted Special" + value }
89
+
90
+ end
91
+
92
+ class Rapport::ReportGeneratorTest
93
+ include Rapport::ReportGenerator
94
+
95
+ generate_with do |report|
96
+ output = "START\n"
97
+ each_row do |row|
98
+ output << (0...row.length).to_a.zip(row).join("-")
99
+ output << "\n"
100
+ end
101
+ output << "END\n"
102
+ output
103
+ end
104
+
105
+ cell_format(:happy) {|value| "Happy#{value}"}
106
+
107
+ cell_format(Time) {|value| value.strftime("%H:%m")}
108
+ end
109
+
110
+ end
111
+
112
+
metadata ADDED
@@ -0,0 +1,244 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rapport
3
+ version: !ruby/object:Gem::Version
4
+ hash: 23
5
+ prerelease:
6
+ segments:
7
+ - 0
8
+ - 0
9
+ - 4
10
+ version: 0.0.4
11
+ platform: ruby
12
+ authors:
13
+ - Andrew Wheeler
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2012-01-10 00:00:00 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ type: :development
22
+ name: rake
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ none: false
25
+ requirements:
26
+ - - "="
27
+ - !ruby/object:Gem::Version
28
+ hash: 49
29
+ segments:
30
+ - 0
31
+ - 8
32
+ - 7
33
+ version: 0.8.7
34
+ prerelease: false
35
+ version_requirements: *id001
36
+ - !ruby/object:Gem::Dependency
37
+ type: :development
38
+ name: shoulda
39
+ requirement: &id002 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ~>
43
+ - !ruby/object:Gem::Version
44
+ hash: 37
45
+ segments:
46
+ - 2
47
+ - 11
48
+ - 3
49
+ version: 2.11.3
50
+ prerelease: false
51
+ version_requirements: *id002
52
+ - !ruby/object:Gem::Dependency
53
+ type: :development
54
+ name: mocha
55
+ requirement: &id003 !ruby/object:Gem::Requirement
56
+ none: false
57
+ requirements:
58
+ - - "="
59
+ - !ruby/object:Gem::Version
60
+ hash: 43
61
+ segments:
62
+ - 0
63
+ - 9
64
+ - 8
65
+ version: 0.9.8
66
+ prerelease: false
67
+ version_requirements: *id003
68
+ - !ruby/object:Gem::Dependency
69
+ type: :development
70
+ name: shared_should
71
+ requirement: &id004 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - "="
75
+ - !ruby/object:Gem::Version
76
+ hash: 61
77
+ segments:
78
+ - 0
79
+ - 8
80
+ - 1
81
+ version: 0.8.1
82
+ prerelease: false
83
+ version_requirements: *id004
84
+ - !ruby/object:Gem::Dependency
85
+ type: :development
86
+ name: always_execute
87
+ requirement: &id005 !ruby/object:Gem::Requirement
88
+ none: false
89
+ requirements:
90
+ - - "="
91
+ - !ruby/object:Gem::Version
92
+ hash: 27
93
+ segments:
94
+ - 0
95
+ - 0
96
+ - 2
97
+ version: 0.0.2
98
+ prerelease: false
99
+ version_requirements: *id005
100
+ - !ruby/object:Gem::Dependency
101
+ type: :development
102
+ name: bundler
103
+ requirement: &id006 !ruby/object:Gem::Requirement
104
+ none: false
105
+ requirements:
106
+ - - ~>
107
+ - !ruby/object:Gem::Version
108
+ hash: 23
109
+ segments:
110
+ - 1
111
+ - 0
112
+ - 0
113
+ version: 1.0.0
114
+ prerelease: false
115
+ version_requirements: *id006
116
+ - !ruby/object:Gem::Dependency
117
+ type: :development
118
+ name: jeweler
119
+ requirement: &id007 !ruby/object:Gem::Requirement
120
+ none: false
121
+ requirements:
122
+ - - ~>
123
+ - !ruby/object:Gem::Version
124
+ hash: 7
125
+ segments:
126
+ - 1
127
+ - 6
128
+ - 4
129
+ version: 1.6.4
130
+ prerelease: false
131
+ version_requirements: *id007
132
+ - !ruby/object:Gem::Dependency
133
+ type: :development
134
+ name: rcov
135
+ requirement: &id008 !ruby/object:Gem::Requirement
136
+ none: false
137
+ requirements:
138
+ - - ">="
139
+ - !ruby/object:Gem::Version
140
+ hash: 3
141
+ segments:
142
+ - 0
143
+ version: "0"
144
+ prerelease: false
145
+ version_requirements: *id008
146
+ - !ruby/object:Gem::Dependency
147
+ type: :development
148
+ name: rubyzip
149
+ requirement: &id009 !ruby/object:Gem::Requirement
150
+ none: false
151
+ requirements:
152
+ - - "="
153
+ - !ruby/object:Gem::Version
154
+ hash: 49
155
+ segments:
156
+ - 0
157
+ - 9
158
+ - 5
159
+ version: 0.9.5
160
+ prerelease: false
161
+ version_requirements: *id009
162
+ - !ruby/object:Gem::Dependency
163
+ type: :development
164
+ name: fastercsv
165
+ requirement: &id010 !ruby/object:Gem::Requirement
166
+ none: false
167
+ requirements:
168
+ - - "="
169
+ - !ruby/object:Gem::Version
170
+ hash: 1
171
+ segments:
172
+ - 1
173
+ - 5
174
+ - 1
175
+ version: 1.5.1
176
+ prerelease: false
177
+ version_requirements: *id010
178
+ description: Allows you to create tablular reports and output them to various formats interchangeably.
179
+ email: andrew.wheeler@bookrenter.com
180
+ executables: []
181
+
182
+ extensions: []
183
+
184
+ extra_rdoc_files:
185
+ - LICENSE.txt
186
+ - README.md
187
+ files:
188
+ - .document
189
+ - .tmtags
190
+ - Gemfile
191
+ - Gemfile.lock
192
+ - LICENSE.txt
193
+ - README.md
194
+ - Rakefile
195
+ - VERSION
196
+ - lib/helpers.rb
197
+ - lib/load_rapport.rb
198
+ - lib/rapport.rb
199
+ - lib/rapport/report.rb
200
+ - lib/rapport/report_generator.rb
201
+ - lib/rapport/report_generators/report_generator_csv.rb
202
+ - lib/rapport/report_generators/report_generator_fake.rb
203
+ - lib/test.rb
204
+ - rapport.gemspec
205
+ - test/logs/test.log
206
+ - test/rapport/report_generator_test.rb
207
+ - test/rapport/report_generators/report_generator_csv_test.rb
208
+ - test/rapport/report_test.rb
209
+ - test/test_helper.rb
210
+ homepage: http://github.com/jawheeler/rapport
211
+ licenses:
212
+ - MIT
213
+ post_install_message:
214
+ rdoc_options: []
215
+
216
+ require_paths:
217
+ - lib
218
+ required_ruby_version: !ruby/object:Gem::Requirement
219
+ none: false
220
+ requirements:
221
+ - - ">="
222
+ - !ruby/object:Gem::Version
223
+ hash: 3
224
+ segments:
225
+ - 0
226
+ version: "0"
227
+ required_rubygems_version: !ruby/object:Gem::Requirement
228
+ none: false
229
+ requirements:
230
+ - - ">="
231
+ - !ruby/object:Gem::Version
232
+ hash: 3
233
+ segments:
234
+ - 0
235
+ version: "0"
236
+ requirements: []
237
+
238
+ rubyforge_project:
239
+ rubygems_version: 1.8.6
240
+ signing_key:
241
+ specification_version: 3
242
+ summary: Rapport Reporting
243
+ test_files: []
244
+