ammeter 0.2.3 → 0.2.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.
- data/History.md +6 -0
- data/Rakefile +8 -10
- data/ammeter.gemspec +9 -9
- data/features/generator_spec.feature +2 -1
- data/lib/ammeter/rspec/generator/matchers/be_a_migration.rb +6 -2
- data/lib/ammeter/version.rb +1 -1
- data/spec/ammeter/rspec/generator/matchers/be_a_migration_spec.rb +4 -1
- metadata +197 -190
data/History.md
CHANGED
@@ -1,5 +1,11 @@
|
|
1
1
|
## Ammeter release history
|
2
2
|
|
3
|
+
### 0.2.4 / 2012-04-06
|
4
|
+
|
5
|
+
[full changelog](https://github.com/alexrothenberg/ammeter/compare/v0.2.3...v0.2.4)
|
6
|
+
|
7
|
+
* Fixed issue #8 with migration_file and be_a_migration [@EppO]
|
8
|
+
|
3
9
|
### 0.2.3 / 2012-03-05
|
4
10
|
|
5
11
|
[full changelog](https://github.com/alexrothenberg/ammeter/compare/v0.2.2...v0.2.3)
|
data/Rakefile
CHANGED
@@ -21,21 +21,19 @@ Cucumber::Rake::Task.new(:cucumber)
|
|
21
21
|
# for cucumber features that create a sample project
|
22
22
|
def in_example_app(command)
|
23
23
|
Dir.chdir("./tmp/example_app/") do
|
24
|
-
Bundler.
|
25
|
-
sh command
|
26
|
-
end
|
24
|
+
Bundler.clean_system command
|
27
25
|
end
|
28
26
|
end
|
29
27
|
namespace :generate do
|
30
28
|
desc "generate a fresh app with rspec installed"
|
31
29
|
task :app do |t|
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
30
|
+
raise 'Bundler 1.1 is a development dependency to build ammeter. Please upgrade bundler.' unless Bundler::VERSION >= '1.1'
|
31
|
+
|
32
|
+
sh "bundle exec rails new ./tmp/example_app -m 'features/templates/generate_example_app.rb' --skip-test-unit"
|
33
|
+
sh "cp 'features/templates/rspec.rake' ./tmp/example_app/lib/tasks"
|
34
|
+
in_example_app 'rake db:migrate'
|
35
|
+
in_example_app 'rails g rspec:install'
|
36
|
+
in_example_app 'bundle install'
|
39
37
|
end
|
40
38
|
end
|
41
39
|
|
data/ammeter.gemspec
CHANGED
@@ -22,13 +22,13 @@ Gem::Specification.new do |s|
|
|
22
22
|
s.add_runtime_dependency 'rspec', '>= 2.2'
|
23
23
|
s.add_runtime_dependency 'rspec-rails', '>= 2.2'
|
24
24
|
|
25
|
-
s.add_development_dependency 'rails',
|
26
|
-
s.add_development_dependency 'uglifier'
|
27
|
-
s.add_development_dependency 'rake'
|
28
|
-
s.add_development_dependency 'coffee-rails'
|
29
|
-
s.add_development_dependency 'sass-rails'
|
30
|
-
s.add_development_dependency 'jquery-rails'
|
31
|
-
s.add_development_dependency 'cucumber',
|
32
|
-
s.add_development_dependency 'aruba',
|
33
|
-
s.add_development_dependency 'sqlite3',
|
25
|
+
s.add_development_dependency 'rails', '>= 3.1'
|
26
|
+
s.add_development_dependency 'uglifier', '>= 1.2.4'
|
27
|
+
s.add_development_dependency 'rake', '>= 0.9.2.2'
|
28
|
+
s.add_development_dependency 'coffee-rails', '>= 3.2.2'
|
29
|
+
s.add_development_dependency 'sass-rails', '>= 3.2.5'
|
30
|
+
s.add_development_dependency 'jquery-rails', '>= 2.0.2'
|
31
|
+
s.add_development_dependency 'cucumber', '>= 0.10'
|
32
|
+
s.add_development_dependency 'aruba', '>= 0.3'
|
33
|
+
s.add_development_dependency 'sqlite3', '>= 1'
|
34
34
|
end
|
@@ -158,11 +158,12 @@ Feature: generator spec
|
|
158
158
|
before { run_generator %w(create_posts) }
|
159
159
|
subject { migration_file('db/migrate/create_posts.rb') }
|
160
160
|
it { should exist }
|
161
|
+
it { should be_a_migration }
|
161
162
|
it { should contain 'class CreatePosts < ActiveRecord::Migration' }
|
162
163
|
end
|
163
164
|
"""
|
164
165
|
When I run `rake spec`
|
165
|
-
Then the output should contain "
|
166
|
+
Then the output should contain "3 examples, 0 failures"
|
166
167
|
|
167
168
|
Scenario: Can tell the generator where to put its files
|
168
169
|
Given a file named "spec/generators/awesome_generator_spec.rb" with:
|
@@ -1,7 +1,11 @@
|
|
1
1
|
RSpec::Matchers.define :be_a_migration do
|
2
2
|
match do |file_path|
|
3
|
-
dirname, file_name = File.dirname(file_path), File.basename(file_path)
|
4
|
-
|
3
|
+
dirname, file_name = File.dirname(file_path), File.basename(file_path)
|
4
|
+
if file_name.match(/\d+_.*\.rb/)
|
5
|
+
migration_file_path = file_path
|
6
|
+
else
|
7
|
+
migration_file_path = Dir.glob("#{dirname}/[0-9]*_*.rb").grep(/\d+_#{file_name}$/).first
|
8
|
+
end
|
5
9
|
File.exist?(migration_file_path)
|
6
10
|
end
|
7
11
|
end
|
data/lib/ammeter/version.rb
CHANGED
@@ -11,9 +11,12 @@ describe "be_a_migration" do
|
|
11
11
|
end
|
12
12
|
Dir.stub!(:glob).with('db/migrate/[0-9]*_*.rb').and_return(migration_files)
|
13
13
|
end
|
14
|
-
it 'should find for the migration file
|
14
|
+
it 'should find for the migration file adding the filename timestamp for us' do
|
15
15
|
'db/migrate/create_users.rb'.should be_a_migration
|
16
16
|
end
|
17
|
+
it 'should find for the migration file when we know the filename timestamp' do
|
18
|
+
'db/migrate/20110504132601_create_posts.rb'.should be_a_migration
|
19
|
+
end
|
17
20
|
it 'should know when a migration does not exist' do
|
18
21
|
'db/migrate/create_comments.rb'.should_not be_a_migration
|
19
22
|
end
|
metadata
CHANGED
@@ -1,221 +1,231 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: ammeter
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.2.4
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 2
|
9
|
-
- 3
|
10
|
-
version: 0.2.3
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Alex Rothenberg
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
- !ruby/object:Gem::Dependency
|
21
|
-
prerelease: false
|
22
|
-
type: :runtime
|
23
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
-
none: false
|
25
|
-
requirements:
|
26
|
-
- - ">="
|
27
|
-
- !ruby/object:Gem::Version
|
28
|
-
hash: 7
|
29
|
-
segments:
|
30
|
-
- 3
|
31
|
-
- 0
|
32
|
-
version: "3.0"
|
33
|
-
version_requirements: *id001
|
12
|
+
date: 2012-04-06 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
34
15
|
name: railties
|
35
|
-
|
36
|
-
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '3.0'
|
37
22
|
type: :runtime
|
38
|
-
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
39
25
|
none: false
|
40
|
-
requirements:
|
41
|
-
- -
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
|
44
|
-
|
45
|
-
- 3
|
46
|
-
- 0
|
47
|
-
version: "3.0"
|
48
|
-
version_requirements: *id002
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '3.0'
|
30
|
+
- !ruby/object:Gem::Dependency
|
49
31
|
name: activesupport
|
50
|
-
|
51
|
-
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '3.0'
|
52
38
|
type: :runtime
|
53
|
-
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
54
41
|
none: false
|
55
|
-
requirements:
|
56
|
-
- -
|
57
|
-
- !ruby/object:Gem::Version
|
58
|
-
|
59
|
-
|
60
|
-
- 2
|
61
|
-
- 2
|
62
|
-
version: "2.2"
|
63
|
-
version_requirements: *id003
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '3.0'
|
46
|
+
- !ruby/object:Gem::Dependency
|
64
47
|
name: rspec
|
65
|
-
|
66
|
-
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '2.2'
|
67
54
|
type: :runtime
|
68
|
-
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
69
57
|
none: false
|
70
|
-
requirements:
|
71
|
-
- -
|
72
|
-
- !ruby/object:Gem::Version
|
73
|
-
|
74
|
-
|
75
|
-
- 2
|
76
|
-
- 2
|
77
|
-
version: "2.2"
|
78
|
-
version_requirements: *id004
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '2.2'
|
62
|
+
- !ruby/object:Gem::Dependency
|
79
63
|
name: rspec-rails
|
80
|
-
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '2.2'
|
70
|
+
type: :runtime
|
81
71
|
prerelease: false
|
82
|
-
|
83
|
-
requirement: &id005 !ruby/object:Gem::Requirement
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
84
73
|
none: false
|
85
|
-
requirements:
|
86
|
-
- -
|
87
|
-
- !ruby/object:Gem::Version
|
88
|
-
|
89
|
-
|
90
|
-
- 3
|
91
|
-
- 1
|
92
|
-
version: "3.1"
|
93
|
-
version_requirements: *id005
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '2.2'
|
78
|
+
- !ruby/object:Gem::Dependency
|
94
79
|
name: rails
|
95
|
-
|
96
|
-
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
82
|
+
requirements:
|
83
|
+
- - ! '>='
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: '3.1'
|
97
86
|
type: :development
|
98
|
-
|
87
|
+
prerelease: false
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
99
89
|
none: false
|
100
|
-
requirements:
|
101
|
-
- -
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
|
104
|
-
|
105
|
-
- 0
|
106
|
-
version: "0"
|
107
|
-
version_requirements: *id006
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '3.1'
|
94
|
+
- !ruby/object:Gem::Dependency
|
108
95
|
name: uglifier
|
109
|
-
|
110
|
-
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
98
|
+
requirements:
|
99
|
+
- - ! '>='
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: 1.2.4
|
111
102
|
type: :development
|
112
|
-
|
103
|
+
prerelease: false
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
113
105
|
none: false
|
114
|
-
requirements:
|
115
|
-
- -
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
|
118
|
-
|
119
|
-
- 0
|
120
|
-
version: "0"
|
121
|
-
version_requirements: *id007
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: 1.2.4
|
110
|
+
- !ruby/object:Gem::Dependency
|
122
111
|
name: rake
|
123
|
-
|
124
|
-
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
114
|
+
requirements:
|
115
|
+
- - ! '>='
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: 0.9.2.2
|
125
118
|
type: :development
|
126
|
-
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
127
121
|
none: false
|
128
|
-
requirements:
|
129
|
-
- -
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
|
132
|
-
|
133
|
-
- 0
|
134
|
-
version: "0"
|
135
|
-
version_requirements: *id008
|
122
|
+
requirements:
|
123
|
+
- - ! '>='
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: 0.9.2.2
|
126
|
+
- !ruby/object:Gem::Dependency
|
136
127
|
name: coffee-rails
|
137
|
-
|
138
|
-
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
129
|
+
none: false
|
130
|
+
requirements:
|
131
|
+
- - ! '>='
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: 3.2.2
|
139
134
|
type: :development
|
140
|
-
|
135
|
+
prerelease: false
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
141
137
|
none: false
|
142
|
-
requirements:
|
143
|
-
- -
|
144
|
-
- !ruby/object:Gem::Version
|
145
|
-
|
146
|
-
|
147
|
-
- 0
|
148
|
-
version: "0"
|
149
|
-
version_requirements: *id009
|
138
|
+
requirements:
|
139
|
+
- - ! '>='
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: 3.2.2
|
142
|
+
- !ruby/object:Gem::Dependency
|
150
143
|
name: sass-rails
|
151
|
-
|
152
|
-
|
144
|
+
requirement: !ruby/object:Gem::Requirement
|
145
|
+
none: false
|
146
|
+
requirements:
|
147
|
+
- - ! '>='
|
148
|
+
- !ruby/object:Gem::Version
|
149
|
+
version: 3.2.5
|
153
150
|
type: :development
|
154
|
-
|
151
|
+
prerelease: false
|
152
|
+
version_requirements: !ruby/object:Gem::Requirement
|
155
153
|
none: false
|
156
|
-
requirements:
|
157
|
-
- -
|
158
|
-
- !ruby/object:Gem::Version
|
159
|
-
|
160
|
-
|
161
|
-
- 0
|
162
|
-
version: "0"
|
163
|
-
version_requirements: *id010
|
154
|
+
requirements:
|
155
|
+
- - ! '>='
|
156
|
+
- !ruby/object:Gem::Version
|
157
|
+
version: 3.2.5
|
158
|
+
- !ruby/object:Gem::Dependency
|
164
159
|
name: jquery-rails
|
165
|
-
|
166
|
-
|
160
|
+
requirement: !ruby/object:Gem::Requirement
|
161
|
+
none: false
|
162
|
+
requirements:
|
163
|
+
- - ! '>='
|
164
|
+
- !ruby/object:Gem::Version
|
165
|
+
version: 2.0.2
|
167
166
|
type: :development
|
168
|
-
|
167
|
+
prerelease: false
|
168
|
+
version_requirements: !ruby/object:Gem::Requirement
|
169
169
|
none: false
|
170
|
-
requirements:
|
171
|
-
- -
|
172
|
-
- !ruby/object:Gem::Version
|
173
|
-
|
174
|
-
|
175
|
-
- 0
|
176
|
-
- 10
|
177
|
-
version: "0.10"
|
178
|
-
version_requirements: *id011
|
170
|
+
requirements:
|
171
|
+
- - ! '>='
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: 2.0.2
|
174
|
+
- !ruby/object:Gem::Dependency
|
179
175
|
name: cucumber
|
180
|
-
|
181
|
-
|
176
|
+
requirement: !ruby/object:Gem::Requirement
|
177
|
+
none: false
|
178
|
+
requirements:
|
179
|
+
- - ! '>='
|
180
|
+
- !ruby/object:Gem::Version
|
181
|
+
version: '0.10'
|
182
182
|
type: :development
|
183
|
-
|
183
|
+
prerelease: false
|
184
|
+
version_requirements: !ruby/object:Gem::Requirement
|
184
185
|
none: false
|
185
|
-
requirements:
|
186
|
-
- -
|
187
|
-
- !ruby/object:Gem::Version
|
188
|
-
|
189
|
-
|
190
|
-
- 0
|
191
|
-
- 3
|
192
|
-
version: "0.3"
|
193
|
-
version_requirements: *id012
|
186
|
+
requirements:
|
187
|
+
- - ! '>='
|
188
|
+
- !ruby/object:Gem::Version
|
189
|
+
version: '0.10'
|
190
|
+
- !ruby/object:Gem::Dependency
|
194
191
|
name: aruba
|
195
|
-
|
196
|
-
|
192
|
+
requirement: !ruby/object:Gem::Requirement
|
193
|
+
none: false
|
194
|
+
requirements:
|
195
|
+
- - ! '>='
|
196
|
+
- !ruby/object:Gem::Version
|
197
|
+
version: '0.3'
|
197
198
|
type: :development
|
198
|
-
|
199
|
+
prerelease: false
|
200
|
+
version_requirements: !ruby/object:Gem::Requirement
|
199
201
|
none: false
|
200
|
-
requirements:
|
201
|
-
- -
|
202
|
-
- !ruby/object:Gem::Version
|
203
|
-
|
204
|
-
|
205
|
-
- 1
|
206
|
-
version: "1"
|
207
|
-
version_requirements: *id013
|
202
|
+
requirements:
|
203
|
+
- - ! '>='
|
204
|
+
- !ruby/object:Gem::Version
|
205
|
+
version: '0.3'
|
206
|
+
- !ruby/object:Gem::Dependency
|
208
207
|
name: sqlite3
|
208
|
+
requirement: !ruby/object:Gem::Requirement
|
209
|
+
none: false
|
210
|
+
requirements:
|
211
|
+
- - ! '>='
|
212
|
+
- !ruby/object:Gem::Version
|
213
|
+
version: '1'
|
214
|
+
type: :development
|
215
|
+
prerelease: false
|
216
|
+
version_requirements: !ruby/object:Gem::Requirement
|
217
|
+
none: false
|
218
|
+
requirements:
|
219
|
+
- - ! '>='
|
220
|
+
- !ruby/object:Gem::Version
|
221
|
+
version: '1'
|
209
222
|
description: Write specs for your Rails 3+ generators
|
210
|
-
email:
|
223
|
+
email:
|
211
224
|
- alex@alexrothenberg.com
|
212
225
|
executables: []
|
213
|
-
|
214
226
|
extensions: []
|
215
|
-
|
216
227
|
extra_rdoc_files: []
|
217
|
-
|
218
|
-
files:
|
228
|
+
files:
|
219
229
|
- .gitignore
|
220
230
|
- .travis.yml
|
221
231
|
- Gemfile
|
@@ -245,40 +255,37 @@ files:
|
|
245
255
|
- spec/ammeter/rspec/generator/matchers/exist_spec.rb
|
246
256
|
- spec/spec_helper.rb
|
247
257
|
- spec/support/helpers.rb
|
248
|
-
homepage:
|
258
|
+
homepage: ''
|
249
259
|
licenses: []
|
250
|
-
|
251
260
|
post_install_message:
|
252
261
|
rdoc_options: []
|
253
|
-
|
254
|
-
require_paths:
|
262
|
+
require_paths:
|
255
263
|
- lib
|
256
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
264
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
257
265
|
none: false
|
258
|
-
requirements:
|
259
|
-
- -
|
260
|
-
- !ruby/object:Gem::Version
|
261
|
-
|
262
|
-
segments:
|
266
|
+
requirements:
|
267
|
+
- - ! '>='
|
268
|
+
- !ruby/object:Gem::Version
|
269
|
+
version: '0'
|
270
|
+
segments:
|
263
271
|
- 0
|
264
|
-
|
265
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
272
|
+
hash: 1621738140737887747
|
273
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
266
274
|
none: false
|
267
|
-
requirements:
|
268
|
-
- -
|
269
|
-
- !ruby/object:Gem::Version
|
270
|
-
|
271
|
-
segments:
|
275
|
+
requirements:
|
276
|
+
- - ! '>='
|
277
|
+
- !ruby/object:Gem::Version
|
278
|
+
version: '0'
|
279
|
+
segments:
|
272
280
|
- 0
|
273
|
-
|
281
|
+
hash: 1621738140737887747
|
274
282
|
requirements: []
|
275
|
-
|
276
283
|
rubyforge_project:
|
277
|
-
rubygems_version: 1.8.
|
284
|
+
rubygems_version: 1.8.21
|
278
285
|
signing_key:
|
279
286
|
specification_version: 3
|
280
287
|
summary: Write specs for your Rails 3+ generators
|
281
|
-
test_files:
|
288
|
+
test_files:
|
282
289
|
- features/generator_spec.feature
|
283
290
|
- features/support/env.rb
|
284
291
|
- features/templates/generate_example_app.rb
|