ammeter 0.2.0 → 0.2.1
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.
@@ -35,8 +35,6 @@ Feature: generator spec
|
|
35
35
|
require 'generators/awesome/awesome_generator'
|
36
36
|
|
37
37
|
describe AwesomeGenerator do
|
38
|
-
destination File.expand_path("../../tmp", __FILE__)
|
39
|
-
|
40
38
|
before { run_generator %w(my_dir) }
|
41
39
|
describe 'public/my_dir/awesome.html' do
|
42
40
|
subject { file('public/my_dir/awesome.html') }
|
@@ -62,7 +60,6 @@ Feature: generator spec
|
|
62
60
|
require 'generators/awesome/awesome_generator'
|
63
61
|
|
64
62
|
describe AwesomeGenerator do
|
65
|
-
destination File.expand_path("../../tmp", __FILE__)
|
66
63
|
arguments %w(another_dir)
|
67
64
|
|
68
65
|
before { invoke_task :create_awesomeness }
|
@@ -81,15 +78,13 @@ Feature: generator spec
|
|
81
78
|
When I run `rake spec`
|
82
79
|
Then the output should contain "4 examples, 0 failures"
|
83
80
|
|
84
|
-
Scenario: A spec with some failures shows
|
81
|
+
Scenario: A spec with some failures shows nice error messages
|
85
82
|
Given a file named "spec/generators/awesome_generator_spec.rb" with:
|
86
83
|
"""
|
87
84
|
require "spec_helper"
|
88
85
|
require 'generators/awesome/awesome_generator'
|
89
86
|
|
90
87
|
describe AwesomeGenerator do
|
91
|
-
destination File.expand_path("../../tmp", __FILE__)
|
92
|
-
|
93
88
|
before { run_generator %w(my_dir) }
|
94
89
|
describe 'public/my_dir/awesome.html' do
|
95
90
|
subject { file('public/my_dir/awesome.html') }
|
@@ -111,19 +106,19 @@ Feature: generator spec
|
|
111
106
|
Then the output should contain "5 examples, 5 failures"
|
112
107
|
And the output should contain:
|
113
108
|
"""
|
114
|
-
/
|
109
|
+
/public/my_dir/awesome.html to not contain "This is an awesome file" but it did
|
115
110
|
"""
|
116
111
|
And the output should contain:
|
117
112
|
"""
|
118
|
-
/
|
113
|
+
/public/my_dir/awesome.html to contain "This text is not in the file" but it contained "This is an awesome file"
|
119
114
|
"""
|
120
115
|
And the output should contain:
|
121
116
|
"""
|
122
|
-
/
|
117
|
+
/public/my_dir/awesome.html" not to exist
|
123
118
|
"""
|
124
119
|
And the output should contain:
|
125
120
|
"""
|
126
|
-
/
|
121
|
+
/public/my_dir/non_existent.html" to exist
|
127
122
|
"""
|
128
123
|
And the output should contain:
|
129
124
|
"""
|
@@ -137,7 +132,6 @@ Feature: generator spec
|
|
137
132
|
require 'generators/awesome/awesome_generator'
|
138
133
|
|
139
134
|
describe AwesomeGenerator do
|
140
|
-
destination File.expand_path("../../tmp", __FILE__)
|
141
135
|
arguments %w(my_dir --super)
|
142
136
|
|
143
137
|
before { generator.invoke_all }
|
@@ -161,12 +155,7 @@ Feature: generator spec
|
|
161
155
|
require 'rails/generators/active_record/migration/migration_generator'
|
162
156
|
|
163
157
|
describe ActiveRecord::Generators::MigrationGenerator do
|
164
|
-
|
165
|
-
|
166
|
-
before do
|
167
|
-
prepare_destination
|
168
|
-
run_generator %w(create_posts)
|
169
|
-
end
|
158
|
+
before { run_generator %w(create_posts) }
|
170
159
|
subject { migration_file('db/migrate/create_posts.rb') }
|
171
160
|
it { should exist }
|
172
161
|
it { should contain 'class CreatePosts < ActiveRecord::Migration' }
|
@@ -175,4 +164,25 @@ Feature: generator spec
|
|
175
164
|
When I run `rake spec`
|
176
165
|
Then the output should contain "2 examples, 0 failures"
|
177
166
|
|
167
|
+
Scenario: Can tell the generator where to put its files
|
168
|
+
Given a file named "spec/generators/awesome_generator_spec.rb" with:
|
169
|
+
"""
|
170
|
+
require "spec_helper"
|
171
|
+
require 'generators/awesome/awesome_generator'
|
172
|
+
|
173
|
+
describe AwesomeGenerator do
|
174
|
+
destination Rails.root + 'tmp/generated_files'
|
175
|
+
|
176
|
+
before { run_generator %w(my_dir --super) }
|
177
|
+
describe 'public/my_dir/super_awesome.html' do
|
178
|
+
subject { file('public/my_dir/super_awesome.html') }
|
179
|
+
it { should == "#{Rails.root}/tmp/generated_files/public/my_dir/super_awesome.html" }
|
180
|
+
it { should exist }
|
181
|
+
end
|
182
|
+
end
|
183
|
+
"""
|
184
|
+
When I run `rake spec`
|
185
|
+
Then the output should contain "2 examples, 0 failures"
|
186
|
+
|
187
|
+
|
178
188
|
|
@@ -2,6 +2,8 @@ require 'rails/generators'
|
|
2
2
|
require 'active_support/core_ext'
|
3
3
|
require 'rspec/rails/adapters'
|
4
4
|
require 'rspec/rails/example/rails_example_group'
|
5
|
+
require 'tmpdir'
|
6
|
+
require 'fileutils'
|
5
7
|
|
6
8
|
module Ammeter
|
7
9
|
module RSpec
|
@@ -19,7 +21,7 @@ module Ammeter
|
|
19
21
|
DELEGATED_METHODS.each do |method|
|
20
22
|
delegate method, :to => :'self.test_unit_test_case_delegate'
|
21
23
|
end
|
22
|
-
delegate :destination, :arguments, :to =>
|
24
|
+
delegate :destination, :arguments, :to => ::Rails::Generators::TestCase
|
23
25
|
|
24
26
|
def initialize_delegate
|
25
27
|
self.test_unit_test_case_delegate = ::Rails::Generators::TestCase.new 'pending'
|
@@ -50,23 +52,17 @@ module Ammeter
|
|
50
52
|
DELEGATED_METHODS.each do |method|
|
51
53
|
delegate method, :to => :'self.class'
|
52
54
|
end
|
53
|
-
|
54
|
-
raise "You need to configure your Rails::Generators::TestCase destination root." unless destination_root
|
55
|
-
end
|
56
|
-
def ensure_current_path #:nodoc:
|
57
|
-
# cd current_path
|
58
|
-
end
|
55
|
+
::Rails::Generators::TestCase.destination File.expand_path('ammeter', Dir.tmpdir)
|
59
56
|
initialize_delegate
|
60
57
|
|
61
58
|
subject { generator }
|
62
59
|
|
63
60
|
before do
|
64
61
|
self.class.initialize_delegate
|
65
|
-
|
66
|
-
ensure_current_path
|
62
|
+
prepare_destination
|
67
63
|
end
|
68
64
|
after do
|
69
|
-
ensure_current_path
|
65
|
+
# ensure_current_path
|
70
66
|
end
|
71
67
|
metadata[:type] = :generator
|
72
68
|
end
|
data/lib/ammeter/version.rb
CHANGED
data/spec/ammeter/rspec/{rails/generator → generator}/example/generator_example_group_spec.rb
RENAMED
@@ -30,15 +30,9 @@ module Ammeter::RSpec::Rails
|
|
30
30
|
end
|
31
31
|
|
32
32
|
describe 'able to delegate to ::Rails::Generators::TestCase' do
|
33
|
-
it 'should know the destination is not set' do
|
34
|
-
lambda { group.destination_root_is_set? }.should raise_error "You need to configure your Rails::Generators::TestCase destination root."
|
35
|
-
end
|
36
33
|
describe 'with a destination root' do
|
37
34
|
before { group.destination '/some/path' }
|
38
35
|
its(:destination_root) { should == '/some/path' }
|
39
|
-
it 'should know the destination is set' do
|
40
|
-
lambda { group.destination_root_is_set? }.should_not raise_error
|
41
|
-
end
|
42
36
|
end
|
43
37
|
end
|
44
38
|
|
metadata
CHANGED
@@ -1,8 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ammeter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
+
hash: 21
|
4
5
|
prerelease:
|
5
|
-
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 2
|
9
|
+
- 1
|
10
|
+
version: 0.2.1
|
6
11
|
platform: ruby
|
7
12
|
authors:
|
8
13
|
- Alex Rothenberg
|
@@ -10,163 +15,211 @@ autorequire:
|
|
10
15
|
bindir: bin
|
11
16
|
cert_chain: []
|
12
17
|
|
13
|
-
date: 2011-10-
|
14
|
-
default_executable:
|
18
|
+
date: 2011-10-20 00:00:00 Z
|
15
19
|
dependencies:
|
16
20
|
- !ruby/object:Gem::Dependency
|
17
|
-
|
18
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
21
|
+
version_requirements: &id001 !ruby/object:Gem::Requirement
|
19
22
|
none: false
|
20
23
|
requirements:
|
21
24
|
- - ~>
|
22
25
|
- !ruby/object:Gem::Version
|
26
|
+
hash: 7
|
27
|
+
segments:
|
28
|
+
- 3
|
29
|
+
- 0
|
23
30
|
version: "3.0"
|
24
|
-
type: :runtime
|
25
31
|
prerelease: false
|
26
|
-
|
32
|
+
requirement: *id001
|
33
|
+
name: railties
|
34
|
+
type: :runtime
|
27
35
|
- !ruby/object:Gem::Dependency
|
28
|
-
|
29
|
-
requirement: &id002 !ruby/object:Gem::Requirement
|
36
|
+
version_requirements: &id002 !ruby/object:Gem::Requirement
|
30
37
|
none: false
|
31
38
|
requirements:
|
32
39
|
- - ~>
|
33
40
|
- !ruby/object:Gem::Version
|
41
|
+
hash: 7
|
42
|
+
segments:
|
43
|
+
- 3
|
44
|
+
- 0
|
34
45
|
version: "3.0"
|
35
|
-
type: :runtime
|
36
46
|
prerelease: false
|
37
|
-
|
47
|
+
requirement: *id002
|
48
|
+
name: activesupport
|
49
|
+
type: :runtime
|
38
50
|
- !ruby/object:Gem::Dependency
|
39
|
-
|
40
|
-
requirement: &id003 !ruby/object:Gem::Requirement
|
51
|
+
version_requirements: &id003 !ruby/object:Gem::Requirement
|
41
52
|
none: false
|
42
53
|
requirements:
|
43
54
|
- - ~>
|
44
55
|
- !ruby/object:Gem::Version
|
56
|
+
hash: 7
|
57
|
+
segments:
|
58
|
+
- 2
|
59
|
+
- 2
|
45
60
|
version: "2.2"
|
46
|
-
type: :runtime
|
47
61
|
prerelease: false
|
48
|
-
|
62
|
+
requirement: *id003
|
63
|
+
name: rspec
|
64
|
+
type: :runtime
|
49
65
|
- !ruby/object:Gem::Dependency
|
50
|
-
|
51
|
-
requirement: &id004 !ruby/object:Gem::Requirement
|
66
|
+
version_requirements: &id004 !ruby/object:Gem::Requirement
|
52
67
|
none: false
|
53
68
|
requirements:
|
54
69
|
- - ~>
|
55
70
|
- !ruby/object:Gem::Version
|
71
|
+
hash: 7
|
72
|
+
segments:
|
73
|
+
- 2
|
74
|
+
- 2
|
56
75
|
version: "2.2"
|
57
|
-
type: :runtime
|
58
76
|
prerelease: false
|
59
|
-
|
77
|
+
requirement: *id004
|
78
|
+
name: rspec-rails
|
79
|
+
type: :runtime
|
60
80
|
- !ruby/object:Gem::Dependency
|
61
|
-
|
62
|
-
requirement: &id005 !ruby/object:Gem::Requirement
|
81
|
+
version_requirements: &id005 !ruby/object:Gem::Requirement
|
63
82
|
none: false
|
64
83
|
requirements:
|
65
84
|
- - ~>
|
66
85
|
- !ruby/object:Gem::Version
|
86
|
+
hash: 5
|
87
|
+
segments:
|
88
|
+
- 3
|
89
|
+
- 1
|
67
90
|
version: "3.1"
|
68
|
-
type: :development
|
69
91
|
prerelease: false
|
70
|
-
|
92
|
+
requirement: *id005
|
93
|
+
name: rails
|
94
|
+
type: :development
|
71
95
|
- !ruby/object:Gem::Dependency
|
72
|
-
|
73
|
-
requirement: &id006 !ruby/object:Gem::Requirement
|
96
|
+
version_requirements: &id006 !ruby/object:Gem::Requirement
|
74
97
|
none: false
|
75
98
|
requirements:
|
76
99
|
- - ">="
|
77
100
|
- !ruby/object:Gem::Version
|
101
|
+
hash: 3
|
102
|
+
segments:
|
103
|
+
- 0
|
78
104
|
version: "0"
|
79
|
-
type: :development
|
80
105
|
prerelease: false
|
81
|
-
|
106
|
+
requirement: *id006
|
107
|
+
name: uglifier
|
108
|
+
type: :development
|
82
109
|
- !ruby/object:Gem::Dependency
|
83
|
-
|
84
|
-
requirement: &id007 !ruby/object:Gem::Requirement
|
110
|
+
version_requirements: &id007 !ruby/object:Gem::Requirement
|
85
111
|
none: false
|
86
112
|
requirements:
|
87
113
|
- - ">="
|
88
114
|
- !ruby/object:Gem::Version
|
115
|
+
hash: 3
|
116
|
+
segments:
|
117
|
+
- 0
|
89
118
|
version: "0"
|
90
|
-
type: :development
|
91
119
|
prerelease: false
|
92
|
-
|
120
|
+
requirement: *id007
|
121
|
+
name: turn
|
122
|
+
type: :development
|
93
123
|
- !ruby/object:Gem::Dependency
|
94
|
-
|
95
|
-
requirement: &id008 !ruby/object:Gem::Requirement
|
124
|
+
version_requirements: &id008 !ruby/object:Gem::Requirement
|
96
125
|
none: false
|
97
126
|
requirements:
|
98
127
|
- - ">="
|
99
128
|
- !ruby/object:Gem::Version
|
129
|
+
hash: 3
|
130
|
+
segments:
|
131
|
+
- 0
|
100
132
|
version: "0"
|
101
|
-
type: :development
|
102
133
|
prerelease: false
|
103
|
-
|
134
|
+
requirement: *id008
|
135
|
+
name: rake
|
136
|
+
type: :development
|
104
137
|
- !ruby/object:Gem::Dependency
|
105
|
-
|
106
|
-
requirement: &id009 !ruby/object:Gem::Requirement
|
138
|
+
version_requirements: &id009 !ruby/object:Gem::Requirement
|
107
139
|
none: false
|
108
140
|
requirements:
|
109
141
|
- - ">="
|
110
142
|
- !ruby/object:Gem::Version
|
143
|
+
hash: 3
|
144
|
+
segments:
|
145
|
+
- 0
|
111
146
|
version: "0"
|
112
|
-
type: :development
|
113
147
|
prerelease: false
|
114
|
-
|
148
|
+
requirement: *id009
|
149
|
+
name: coffee-rails
|
150
|
+
type: :development
|
115
151
|
- !ruby/object:Gem::Dependency
|
116
|
-
|
117
|
-
requirement: &id010 !ruby/object:Gem::Requirement
|
152
|
+
version_requirements: &id010 !ruby/object:Gem::Requirement
|
118
153
|
none: false
|
119
154
|
requirements:
|
120
155
|
- - ">="
|
121
156
|
- !ruby/object:Gem::Version
|
157
|
+
hash: 3
|
158
|
+
segments:
|
159
|
+
- 0
|
122
160
|
version: "0"
|
123
|
-
type: :development
|
124
161
|
prerelease: false
|
125
|
-
|
162
|
+
requirement: *id010
|
163
|
+
name: sass-rails
|
164
|
+
type: :development
|
126
165
|
- !ruby/object:Gem::Dependency
|
127
|
-
|
128
|
-
requirement: &id011 !ruby/object:Gem::Requirement
|
166
|
+
version_requirements: &id011 !ruby/object:Gem::Requirement
|
129
167
|
none: false
|
130
168
|
requirements:
|
131
169
|
- - ">="
|
132
170
|
- !ruby/object:Gem::Version
|
171
|
+
hash: 3
|
172
|
+
segments:
|
173
|
+
- 0
|
133
174
|
version: "0"
|
134
|
-
type: :development
|
135
175
|
prerelease: false
|
136
|
-
|
176
|
+
requirement: *id011
|
177
|
+
name: jquery-rails
|
178
|
+
type: :development
|
137
179
|
- !ruby/object:Gem::Dependency
|
138
|
-
|
139
|
-
requirement: &id012 !ruby/object:Gem::Requirement
|
180
|
+
version_requirements: &id012 !ruby/object:Gem::Requirement
|
140
181
|
none: false
|
141
182
|
requirements:
|
142
183
|
- - ~>
|
143
184
|
- !ruby/object:Gem::Version
|
185
|
+
hash: 31
|
186
|
+
segments:
|
187
|
+
- 0
|
188
|
+
- 10
|
144
189
|
version: "0.10"
|
145
|
-
type: :development
|
146
190
|
prerelease: false
|
147
|
-
|
191
|
+
requirement: *id012
|
192
|
+
name: cucumber
|
193
|
+
type: :development
|
148
194
|
- !ruby/object:Gem::Dependency
|
149
|
-
|
150
|
-
requirement: &id013 !ruby/object:Gem::Requirement
|
195
|
+
version_requirements: &id013 !ruby/object:Gem::Requirement
|
151
196
|
none: false
|
152
197
|
requirements:
|
153
198
|
- - ~>
|
154
199
|
- !ruby/object:Gem::Version
|
200
|
+
hash: 13
|
201
|
+
segments:
|
202
|
+
- 0
|
203
|
+
- 3
|
155
204
|
version: "0.3"
|
156
|
-
type: :development
|
157
205
|
prerelease: false
|
158
|
-
|
206
|
+
requirement: *id013
|
207
|
+
name: aruba
|
208
|
+
type: :development
|
159
209
|
- !ruby/object:Gem::Dependency
|
160
|
-
|
161
|
-
requirement: &id014 !ruby/object:Gem::Requirement
|
210
|
+
version_requirements: &id014 !ruby/object:Gem::Requirement
|
162
211
|
none: false
|
163
212
|
requirements:
|
164
213
|
- - ~>
|
165
214
|
- !ruby/object:Gem::Version
|
215
|
+
hash: 1
|
216
|
+
segments:
|
217
|
+
- 1
|
166
218
|
version: "1"
|
167
|
-
type: :development
|
168
219
|
prerelease: false
|
169
|
-
|
220
|
+
requirement: *id014
|
221
|
+
name: sqlite3
|
222
|
+
type: :development
|
170
223
|
description: Write specs for your Rails 3 generators
|
171
224
|
email:
|
172
225
|
- alex@alexrothenberg.com
|
@@ -199,13 +252,12 @@ files:
|
|
199
252
|
- lib/ammeter/rspec/generator/matchers/contain.rb
|
200
253
|
- lib/ammeter/rspec/generator/matchers/exist.rb
|
201
254
|
- lib/ammeter/version.rb
|
255
|
+
- spec/ammeter/rspec/generator/example/generator_example_group_spec.rb
|
202
256
|
- spec/ammeter/rspec/generator/matchers/be_a_migration_spec.rb
|
203
257
|
- spec/ammeter/rspec/generator/matchers/contain_spec.rb
|
204
258
|
- spec/ammeter/rspec/generator/matchers/exist_spec.rb
|
205
|
-
- spec/ammeter/rspec/rails/generator/example/generator_example_group_spec.rb
|
206
259
|
- spec/spec_helper.rb
|
207
260
|
- spec/support/helpers.rb
|
208
|
-
has_rdoc: true
|
209
261
|
homepage: ""
|
210
262
|
licenses: []
|
211
263
|
|
@@ -219,7 +271,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
219
271
|
requirements:
|
220
272
|
- - ">="
|
221
273
|
- !ruby/object:Gem::Version
|
222
|
-
hash:
|
274
|
+
hash: 3
|
223
275
|
segments:
|
224
276
|
- 0
|
225
277
|
version: "0"
|
@@ -228,14 +280,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
228
280
|
requirements:
|
229
281
|
- - ">="
|
230
282
|
- !ruby/object:Gem::Version
|
231
|
-
hash:
|
283
|
+
hash: 3
|
232
284
|
segments:
|
233
285
|
- 0
|
234
286
|
version: "0"
|
235
287
|
requirements: []
|
236
288
|
|
237
289
|
rubyforge_project:
|
238
|
-
rubygems_version: 1.
|
290
|
+
rubygems_version: 1.8.11
|
239
291
|
signing_key:
|
240
292
|
specification_version: 3
|
241
293
|
summary: Write specs for your Rails 3 generators
|
@@ -244,9 +296,9 @@ test_files:
|
|
244
296
|
- features/support/env.rb
|
245
297
|
- features/templates/generate_example_app.rb
|
246
298
|
- features/templates/rspec.rake
|
299
|
+
- spec/ammeter/rspec/generator/example/generator_example_group_spec.rb
|
247
300
|
- spec/ammeter/rspec/generator/matchers/be_a_migration_spec.rb
|
248
301
|
- spec/ammeter/rspec/generator/matchers/contain_spec.rb
|
249
302
|
- spec/ammeter/rspec/generator/matchers/exist_spec.rb
|
250
|
-
- spec/ammeter/rspec/rails/generator/example/generator_example_group_spec.rb
|
251
303
|
- spec/spec_helper.rb
|
252
304
|
- spec/support/helpers.rb
|