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 good error messages
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
- /tmp/public/my_dir/awesome.html to not contain "This is an awesome file" but it did
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
- /tmp/public/my_dir/awesome.html to contain "This text is not in the file" but it contained "This is an awesome file"
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
- /tmp/public/my_dir/awesome.html" not to exist
117
+ /public/my_dir/awesome.html" not to exist
123
118
  """
124
119
  And the output should contain:
125
120
  """
126
- /tmp/public/my_dir/non_existent.html" to exist
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
- destination File.expand_path("../../tmp", __FILE__)
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 => :'self.test_unit_test_case_delegate.class'
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
- def destination_root_is_set? #:nodoc:
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
- destination_root_is_set?
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
@@ -1,3 +1,3 @@
1
1
  module Ammeter
2
- VERSION = "0.2.0"
2
+ VERSION = "0.2.1"
3
3
  end
@@ -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
- version: 0.2.0
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-13 00:00:00 -04:00
14
- default_executable:
18
+ date: 2011-10-20 00:00:00 Z
15
19
  dependencies:
16
20
  - !ruby/object:Gem::Dependency
17
- name: railties
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
- version_requirements: *id001
32
+ requirement: *id001
33
+ name: railties
34
+ type: :runtime
27
35
  - !ruby/object:Gem::Dependency
28
- name: activesupport
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
- version_requirements: *id002
47
+ requirement: *id002
48
+ name: activesupport
49
+ type: :runtime
38
50
  - !ruby/object:Gem::Dependency
39
- name: rspec
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
- version_requirements: *id003
62
+ requirement: *id003
63
+ name: rspec
64
+ type: :runtime
49
65
  - !ruby/object:Gem::Dependency
50
- name: rspec-rails
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
- version_requirements: *id004
77
+ requirement: *id004
78
+ name: rspec-rails
79
+ type: :runtime
60
80
  - !ruby/object:Gem::Dependency
61
- name: rails
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
- version_requirements: *id005
92
+ requirement: *id005
93
+ name: rails
94
+ type: :development
71
95
  - !ruby/object:Gem::Dependency
72
- name: uglifier
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
- version_requirements: *id006
106
+ requirement: *id006
107
+ name: uglifier
108
+ type: :development
82
109
  - !ruby/object:Gem::Dependency
83
- name: turn
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
- version_requirements: *id007
120
+ requirement: *id007
121
+ name: turn
122
+ type: :development
93
123
  - !ruby/object:Gem::Dependency
94
- name: rake
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
- version_requirements: *id008
134
+ requirement: *id008
135
+ name: rake
136
+ type: :development
104
137
  - !ruby/object:Gem::Dependency
105
- name: coffee-rails
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
- version_requirements: *id009
148
+ requirement: *id009
149
+ name: coffee-rails
150
+ type: :development
115
151
  - !ruby/object:Gem::Dependency
116
- name: sass-rails
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
- version_requirements: *id010
162
+ requirement: *id010
163
+ name: sass-rails
164
+ type: :development
126
165
  - !ruby/object:Gem::Dependency
127
- name: jquery-rails
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
- version_requirements: *id011
176
+ requirement: *id011
177
+ name: jquery-rails
178
+ type: :development
137
179
  - !ruby/object:Gem::Dependency
138
- name: cucumber
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
- version_requirements: *id012
191
+ requirement: *id012
192
+ name: cucumber
193
+ type: :development
148
194
  - !ruby/object:Gem::Dependency
149
- name: aruba
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
- version_requirements: *id013
206
+ requirement: *id013
207
+ name: aruba
208
+ type: :development
159
209
  - !ruby/object:Gem::Dependency
160
- name: sqlite3
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
- version_requirements: *id014
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: -856853819327253995
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: -856853819327253995
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.6.2
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