pickle 0.5.1 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (46) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +3 -2
  3. data/.travis.yml +24 -4
  4. data/History.txt +55 -34
  5. data/README.md +15 -26
  6. data/Rakefile.d/cucumber.rake +13 -4
  7. data/Rakefile.d/repoclean.rake +3 -0
  8. data/features/app/app.rb +7 -7
  9. data/features/app/factories.rb +5 -5
  10. data/features/email/email.feature +1 -0
  11. data/features/step_definitions/email_steps.rb +1 -0
  12. data/features/step_definitions/extra_email_steps.rb +5 -5
  13. data/features/step_definitions/pickle_steps.rb +1 -0
  14. data/features/support/email.rb +1 -0
  15. data/features/support/env.rb +9 -3
  16. data/features/support/pickle.rb +2 -2
  17. data/gemfiles/Gemfile-rails.5.0.x +12 -0
  18. data/gemfiles/Gemfile-rails.5.1.x +10 -0
  19. data/gemfiles/Gemfile-rails.5.2.x +11 -0
  20. data/gemfiles/Gemfile-rails.5.2.x-cukes-4 +11 -0
  21. data/gemfiles/Gemfile-rails.5.2.x-cukes-5 +12 -0
  22. data/gemfiles/Gemfile-rails.6.0.x +10 -0
  23. data/gemfiles/Gemfile-rails.6.0.x-cukes-5 +11 -0
  24. data/gemfiles/Gemfile-rails.edge +9 -0
  25. data/lib/pickle.rb +0 -1
  26. data/lib/pickle/adapter.rb +9 -11
  27. data/lib/pickle/config.rb +1 -1
  28. data/lib/pickle/path.rb +1 -1
  29. data/lib/pickle/session.rb +15 -18
  30. data/lib/pickle/session/parser.rb +11 -9
  31. data/lib/pickle/version.rb +1 -1
  32. data/pickle.gemspec +9 -8
  33. data/rails_generators/pickle/templates/pickle.rb +2 -2
  34. data/spec/pickle/adapter_spec.rb +19 -19
  35. data/spec/pickle/config_spec.rb +9 -9
  36. data/spec/pickle/email_spec.rb +1 -1
  37. data/spec/pickle/path_spec.rb +37 -18
  38. data/spec/pickle/session_spec.rb +5 -5
  39. data/spec/spec_helper.rb +6 -1
  40. metadata +52 -56
  41. data/Gemfile +0 -3
  42. data/Gemfile.lock.development +0 -158
  43. data/features/step_definitions/email_steps.rb +0 -65
  44. data/features/step_definitions/pickle_steps.rb +0 -105
  45. data/features/support/email.rb +0 -21
  46. data/init.rb +0 -0
@@ -5,12 +5,12 @@ describe Pickle::Config do
5
5
  @config = Pickle::Config.new
6
6
  end
7
7
 
8
- it "#adapters should default to :machinist, :factory_girl, :orm" do
9
- expect(@config.adapters).to eq([:machinist, :factory_girl, :fabrication, :orm])
8
+ it "#adapters should default to :machinist, :factory_bot, :orm" do
9
+ expect(@config.adapters).to eq([:machinist, :factory_bot, :fabrication, :orm])
10
10
  end
11
11
 
12
- it "#adapter_classes should default to Adapter::Machinist, Adapter::FactoryGirl, Adapter::Orm" do
13
- expect(@config.adapter_classes).to eq([Pickle::Adapter::Machinist, Pickle::Adapter::FactoryGirl, Pickle::Adapter::Fabrication, Pickle::Adapter::Orm])
12
+ it "#adapter_classes should default to Adapter::Machinist, Adapter::FactoryBot, Adapter::Orm" do
13
+ expect(@config.adapter_classes).to eq([Pickle::Adapter::Machinist, Pickle::Adapter::FactoryBot, Pickle::Adapter::Fabrication, Pickle::Adapter::Orm])
14
14
  end
15
15
 
16
16
  describe "setting adapters to [:machinist, SomeAdapter]" do
@@ -28,7 +28,7 @@ describe Pickle::Config do
28
28
  describe "#factories" do
29
29
  it "should call adaptor.factories for each adaptor" do
30
30
  expect(Pickle::Adapter::Machinist).to receive(:factories).and_return([])
31
- expect(Pickle::Adapter::FactoryGirl).to receive(:factories).and_return([])
31
+ expect(Pickle::Adapter::FactoryBot).to receive(:factories).and_return([])
32
32
  expect(Pickle::Adapter::Fabrication).to receive(:factories).and_return([])
33
33
  expect(Pickle::Adapter::Orm).to receive(:factories).and_return([])
34
34
  @config.factories
@@ -36,18 +36,18 @@ describe Pickle::Config do
36
36
 
37
37
  it "should aggregate factories into a hash using factory name as key" do
38
38
  expect(Pickle::Adapter::Machinist).to receive(:factories).and_return([@machinist = double('machinist', :name => 'machinist')])
39
- expect(Pickle::Adapter::FactoryGirl).to receive(:factories).and_return([@factory_girl = double('factory_girl', :name => 'factory_girl')])
39
+ expect(Pickle::Adapter::FactoryBot).to receive(:factories).and_return([@factory_bot = double('factory_bot', :name => 'factory_bot')])
40
40
  expect(Pickle::Adapter::Fabrication).to receive(:factories).and_return([@fabrication = double('fabrication', :name => 'fabrication')])
41
41
  expect(Pickle::Adapter::Orm).to receive(:factories).and_return([@orm = double('orm', :name => 'orm')])
42
- expect(@config.factories).to eq({'machinist' => @machinist, 'factory_girl' => @factory_girl, 'fabrication' => @fabrication, 'orm' => @orm})
42
+ expect(@config.factories).to eq({'machinist' => @machinist, 'factory_bot' => @factory_bot, 'fabrication' => @fabrication, 'orm' => @orm})
43
43
  end
44
44
 
45
45
  it "should give preference to adaptors first in the list" do
46
46
  expect(Pickle::Adapter::Machinist).to receive(:factories).and_return([@machinist_one = double('one', :name => 'one')])
47
- expect(Pickle::Adapter::FactoryGirl).to receive(:factories).and_return([@factory_girl_one = double('one', :name => 'one'), @factory_girl_two = double('two', :name => 'two')])
47
+ expect(Pickle::Adapter::FactoryBot).to receive(:factories).and_return([@factory_bot_one = double('one', :name => 'one'), @factory_bot_two = double('two', :name => 'two')])
48
48
  expect(Pickle::Adapter::Fabrication).to receive(:factories).and_return([@fabrication_one = double('one', :name => 'one'), @fabrication_three = double('three', :name => 'three')])
49
49
  expect(Pickle::Adapter::Orm).to receive(:factories).and_return([@orm_two = double('two', :name => 'two'), @orm_four = double('four', :name => 'four')])
50
- expect(@config.factories).to eq({'one' => @machinist_one, 'two' => @factory_girl_two, 'three' => @fabrication_three, 'four' => @orm_four})
50
+ expect(@config.factories).to eq({'one' => @machinist_one, 'two' => @factory_bot_two, 'three' => @fabrication_three, 'four' => @orm_four})
51
51
  end
52
52
  end
53
53
 
@@ -162,7 +162,7 @@ describe Pickle::Email do
162
162
  it "should not raise an error when the email body is not a string, but needs to_s [#26]" do
163
163
  allow(self).to receive(:visit)
164
164
  allow(@email1).to receive(:body).and_return(:a_string_body)
165
- expect { click_first_link_in_email(@email1) }.not_to raise_error
165
+ click_first_link_in_email(@email1)
166
166
  end
167
167
  end
168
168
 
@@ -4,7 +4,7 @@ require 'pickle/path'
4
4
 
5
5
  describe Pickle::Path do
6
6
  include Pickle::Path
7
-
7
+
8
8
  describe "#path_to_pickle, when the model doesn't exist" do
9
9
  before do
10
10
  allow(self).to receive(:model).and_return(nil)
@@ -12,81 +12,81 @@ describe Pickle::Path do
12
12
  it "('that user', :extra => 'new comment') should raise the error raised by model!" do
13
13
  expect { path_to_pickle "that user", "new comment" }.to raise_error(RuntimeError, 'Could not figure out a path for ["that user", "new comment"] {}')
14
14
  end
15
-
15
+
16
16
  end
17
-
17
+
18
18
  describe "#path_to_pickle" do
19
19
  describe "when model returns a user" do
20
20
  let :user_class do
21
21
  double 'User', :name => 'User'
22
22
  end
23
-
23
+
24
24
  let :user do
25
25
  double 'user', :class => user_class
26
26
  end
27
-
27
+
28
28
  before do
29
29
  allow(self).to receive(:model).and_return(user)
30
30
  end
31
-
31
+
32
32
  it "('a user', 'the user: \"fred\"') should retrieve 'a user', and 'the user: \"fred\"' models" do
33
33
  expect(self).to receive(:model).with('a user')
34
34
  expect(self).to receive(:model).with('the user: "fred"')
35
35
  allow(self).to receive(:user_user_path).and_return('the path')
36
36
  expect(path_to_pickle('a user', 'the user: "fred"')).to eq('the path')
37
37
  end
38
-
38
+
39
39
  it "('a user', :action => 'foo') should return foo_user_path(<user>)" do
40
40
  expect(self).to receive(:foo_user_path).with(user).and_return('the path')
41
41
  expect(path_to_pickle('a user', :action => 'foo')).to eq('the path')
42
42
  end
43
-
43
+
44
44
  it "('a user', :action => 'foo') should raise informative error if foo_user_path not defined" do
45
45
  expect(self).to receive(:foo_user_path).with(user).and_raise(NoMethodError)
46
46
  expect { path_to_pickle('a user', :action => 'foo') }.to raise_error(Exception, /Could not figure out a path for/)
47
47
  end
48
-
48
+
49
49
  it "('a user', :segment => 'foo') should return user_foo_path(<user>)" do
50
50
  expect(self).to receive(:user_foo_path).with(user).and_return('the path')
51
51
  expect(path_to_pickle('a user', :segment => 'foo')).to eq('the path')
52
52
  end
53
-
53
+
54
54
  it "('a user', :segment => 'foo') should raise informative error if foo_user_path not defined" do
55
55
  expect(self).to receive(:user_foo_path).with(user).and_raise(NoMethodError)
56
56
  expect { path_to_pickle('a user', :segment => 'foo') }.to raise_error(Exception, /Could not figure out a path for/)
57
57
  end
58
-
58
+
59
59
  it "('a user', :action => 'new', :segment => 'comment') should return new_user_comment_path(<user>)" do
60
60
  expect(self).to receive(:new_user_comment_path).with(user).and_return('the path')
61
61
  expect(path_to_pickle('a user', :segment => 'comment', :action => 'new')).to eq('the path')
62
62
  end
63
-
63
+
64
64
  it "('a user', :action => 'new', :segment => 'comment') should raise informative error if new_user_comment_path not defined" do
65
65
  expect(self).to receive(:new_user_comment_path).with(user).and_raise(NoMethodError)
66
66
  expect { path_to_pickle('a user', :action => 'new', :segment => 'comment') }.to raise_error(Exception, /Could not figure out a path for/)
67
67
  end
68
-
68
+
69
69
  it "('a user', :extra => 'new comment') should return new_user_comment_path(<user>)" do
70
70
  expect(self).to receive(:new_user_comment_path).with(user).and_return('the path')
71
71
  expect(path_to_pickle('a user', :extra => 'new comment')).to eq('the path')
72
72
  end
73
-
73
+
74
74
  it "('a user', :extra => 'new comment') should raise informative error if new_user_comment_path not defined" do
75
75
  expect(self).to receive(:new_user_comment_path).with(user).and_raise(NoMethodError)
76
76
  expect { path_to_pickle('a user', :extra => 'new comment') }.to raise_error(Exception, /Could not figure out a path for/)
77
77
  end
78
-
78
+
79
79
  describe "when args is a list of pickle and non pickle models" do
80
80
  before do
81
81
  allow(self).to receive(:model).with("account").and_return(nil)
82
82
  end
83
-
83
+
84
84
  it "('account', 'the user') should return account_user_path(<user>)" do
85
85
  expect(self).to receive(:account_user_path).with(user).and_return("the path")
86
86
  expect(path_to_pickle('account', 'the user')).to eq('the path')
87
87
  end
88
88
  end
89
-
89
+
90
90
  describe "(private API)" do
91
91
  it "('a user', :extra => 'new ish comment') should try combinations of 'new', 'ish', 'comment'" do
92
92
  expect(self).to receive(:pickle_path_for_resources_action_segment).with([user], '', 'new_ish_comment').once
@@ -97,5 +97,24 @@ describe Pickle::Path do
97
97
  end
98
98
  end
99
99
  end
100
+
101
+ describe "when model returns namespaced user" do
102
+ let :user_class do
103
+ double 'User', :name => 'Admin::User'
104
+ end
105
+
106
+ let :user do
107
+ double 'user', :class => user_class
108
+ end
109
+
110
+ before do
111
+ allow(self).to receive(:model).and_return(user)
112
+ end
113
+
114
+ it "('a user', :action => 'foo') should return foo_admin_user_path(<user>)" do
115
+ expect(self).to receive(:foo_admin_user_path).with(user).and_return('the path')
116
+ expect(path_to_pickle('a user', :action => 'foo')).to eq('the path')
117
+ end
118
+ end
100
119
  end
101
- end
120
+ end
@@ -37,7 +37,7 @@ describe Pickle::Session do
37
37
  end
38
38
 
39
39
  it "should raise error if pickle_parser don't know about em" do
40
- expect { subject.parse_infinity }.to raise_error
40
+ expect { subject.parse_infinity }.to raise_error(NoMethodError, /^undefined method `parse_infinity' for /)
41
41
  end
42
42
  end
43
43
 
@@ -300,10 +300,10 @@ describe Pickle::Session do
300
300
  let(:shirl) { double("shirl", :class => user_class, :id => 3) }
301
301
  let(:noname) { double("noname", :class => user_class, :id => 4) }
302
302
 
303
- if defined? ::FactoryGirl
304
- let(:super_admin_factory) { Pickle::Adapter::FactoryGirl.new(double(:build_class => user_class, :name => :super_admin), :super_admin) }
303
+ if defined? ::FactoryBot
304
+ let(:super_admin_factory) { Pickle::Adapter::FactoryBot.new(double(:build_class => user_class, :name => :super_admin), :super_admin) }
305
305
  else
306
- let(:super_admin_factory) { Pickle::Adapter::FactoryGirl.new(double(:build_class => user_class, :factory_name => :super_admin), :super_admin) }
306
+ let(:super_admin_factory) { Pickle::Adapter::FactoryBot.new(double(:build_class => user_class, :factory_name => :super_admin), :super_admin) }
307
307
  end
308
308
 
309
309
  before do
@@ -391,7 +391,7 @@ describe Pickle::Session do
391
391
  end
392
392
 
393
393
  it "#parser.parse_fields 'author: user \"JIM\"' should raise Error, as model deos not refer" do
394
- expect { pickle_parser.parse_fields('author: user "JIM"') }.to raise_error
394
+ expect { pickle_parser.parse_fields('author: user "JIM"') }.to raise_error(Pickle::Session::ModelNotKnownError, %q[The model: 'user "JIM"' is not known in this scenario. Use #create_model to create, or #find_model to find, and store a reference in this scenario.])
395
395
  end
396
396
 
397
397
  it "#parser.parse_fields 'author: the user' should return {\"author\" => <user>}" do
@@ -1,6 +1,11 @@
1
+ require 'rails'
1
2
  require 'active_support'
2
3
  require 'active_record'
3
- require 'factory_girl'
4
+ require 'factory_bot'
5
+
6
+ require 'simplecov'
7
+ require 'codecov'
8
+ SimpleCov.formatter = SimpleCov::Formatter::Codecov
4
9
 
5
10
  $:.unshift(File.expand_path('../../lib', __FILE__))
6
11
 
metadata CHANGED
@@ -1,15 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pickle
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ian White
8
8
  - James Le Cuirot
9
+ - Mathieu Jobin
9
10
  autorequire:
10
11
  bindir: bin
11
12
  cert_chain: []
12
- date: 2015-01-12 00:00:00.000000000 Z
13
+ date: 2020-08-26 00:00:00.000000000 Z
13
14
  dependencies:
14
15
  - !ruby/object:Gem::Dependency
15
16
  name: cucumber
@@ -17,14 +18,20 @@ dependencies:
17
18
  requirements:
18
19
  - - ">="
19
20
  - !ruby/object:Gem::Version
20
- version: '0.8'
21
+ version: '3.0'
22
+ - - "<"
23
+ - !ruby/object:Gem::Version
24
+ version: '6.0'
21
25
  type: :runtime
22
26
  prerelease: false
23
27
  version_requirements: !ruby/object:Gem::Requirement
24
28
  requirements:
25
29
  - - ">="
26
30
  - !ruby/object:Gem::Version
27
- version: '0.8'
31
+ version: '3.0'
32
+ - - "<"
33
+ - !ruby/object:Gem::Version
34
+ version: '6.0'
28
35
  - !ruby/object:Gem::Dependency
29
36
  name: rake
30
37
  requirement: !ruby/object:Gem::Requirement
@@ -113,16 +120,22 @@ dependencies:
113
120
  name: rails
114
121
  requirement: !ruby/object:Gem::Requirement
115
122
  requirements:
116
- - - "~>"
123
+ - - ">="
124
+ - !ruby/object:Gem::Version
125
+ version: 4.2.0
126
+ - - "<"
117
127
  - !ruby/object:Gem::Version
118
- version: 3.1.0
128
+ version: '7.0'
119
129
  type: :development
120
130
  prerelease: false
121
131
  version_requirements: !ruby/object:Gem::Requirement
122
132
  requirements:
123
- - - "~>"
133
+ - - ">="
124
134
  - !ruby/object:Gem::Version
125
- version: 3.1.0
135
+ version: 4.2.0
136
+ - - "<"
137
+ - !ruby/object:Gem::Version
138
+ version: '7.0'
126
139
  - !ruby/object:Gem::Dependency
127
140
  name: cucumber-rails
128
141
  requirement: !ruby/object:Gem::Requirement
@@ -138,7 +151,7 @@ dependencies:
138
151
  - !ruby/object:Gem::Version
139
152
  version: '0'
140
153
  - !ruby/object:Gem::Dependency
141
- name: factory_girl
154
+ name: factory_bot
142
155
  requirement: !ruby/object:Gem::Requirement
143
156
  requirements:
144
157
  - - ">="
@@ -169,16 +182,16 @@ dependencies:
169
182
  name: machinist
170
183
  requirement: !ruby/object:Gem::Requirement
171
184
  requirements:
172
- - - "~>"
185
+ - - ">="
173
186
  - !ruby/object:Gem::Version
174
- version: '2.0'
187
+ version: '0'
175
188
  type: :development
176
189
  prerelease: false
177
190
  version_requirements: !ruby/object:Gem::Requirement
178
191
  requirements:
179
- - - "~>"
192
+ - - ">="
180
193
  - !ruby/object:Gem::Version
181
- version: '2.0'
194
+ version: '0'
182
195
  - !ruby/object:Gem::Dependency
183
196
  name: database_cleaner
184
197
  requirement: !ruby/object:Gem::Requirement
@@ -221,10 +234,25 @@ dependencies:
221
234
  - - ">="
222
235
  - !ruby/object:Gem::Version
223
236
  version: '0'
237
+ - !ruby/object:Gem::Dependency
238
+ name: codecov
239
+ requirement: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - ">="
242
+ - !ruby/object:Gem::Version
243
+ version: '0'
244
+ type: :development
245
+ prerelease: false
246
+ version_requirements: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - ">="
249
+ - !ruby/object:Gem::Version
250
+ version: '0'
224
251
  description: Easy model creation and reference in your cucumber features
225
252
  email:
226
253
  - ian.w.white@gmail.com
227
254
  - chewi@aura-online.co.uk
255
+ - mathieu.jobin@gmail.com
228
256
  executables: []
229
257
  extensions: []
230
258
  extra_rdoc_files: []
@@ -232,14 +260,13 @@ files:
232
260
  - ".gitignore"
233
261
  - ".rspec"
234
262
  - ".travis.yml"
235
- - Gemfile
236
- - Gemfile.lock.development
237
263
  - History.txt
238
264
  - License.txt
239
265
  - README.md
240
266
  - Rakefile
241
267
  - Rakefile.d/cucumber.rake
242
268
  - Rakefile.d/release.rake
269
+ - Rakefile.d/repoclean.rake
243
270
  - Rakefile.d/rspec.rake
244
271
  - Rakefile.d/yard.rake
245
272
  - Todo.txt
@@ -270,7 +297,14 @@ files:
270
297
  - features/support/paths.rb
271
298
  - features/support/pickle.rb
272
299
  - features/support/pickle_app.rb
273
- - init.rb
300
+ - gemfiles/Gemfile-rails.5.0.x
301
+ - gemfiles/Gemfile-rails.5.1.x
302
+ - gemfiles/Gemfile-rails.5.2.x
303
+ - gemfiles/Gemfile-rails.5.2.x-cukes-4
304
+ - gemfiles/Gemfile-rails.5.2.x-cukes-5
305
+ - gemfiles/Gemfile-rails.6.0.x
306
+ - gemfiles/Gemfile-rails.6.0.x-cukes-5
307
+ - gemfiles/Gemfile-rails.edge
274
308
  - lib/generators/pickle_generator.rb
275
309
  - lib/pickle.rb
276
310
  - lib/pickle/adapter.rb
@@ -325,46 +359,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
325
359
  - !ruby/object:Gem::Version
326
360
  version: 1.3.6
327
361
  requirements: []
328
- rubyforge_project: pickle
329
- rubygems_version: 2.2.2
362
+ rubygems_version: 3.0.8
330
363
  signing_key:
331
364
  specification_version: 4
332
365
  summary: Easy model creation and reference in your cucumber features.
333
- test_files:
334
- - features/app/app.rb
335
- - features/app/blueprints.rb
336
- - features/app/fabricators.rb
337
- - features/app/factories.rb
338
- - features/app/views/notifier/email.erb
339
- - features/app/views/notifier/user_email.erb
340
- - features/email/email.feature
341
- - features/generator/generators.feature
342
- - features/path/models_page.feature
343
- - features/path/named_route_page.feature
344
- - features/pickle/create_from_active_record.feature
345
- - features/pickle/create_from_fabrication.feature
346
- - features/pickle/create_from_factory_girl.feature
347
- - features/pickle/create_from_machinist.feature
348
- - features/step_definitions/email_steps.rb
349
- - features/step_definitions/extra_email_steps.rb
350
- - features/step_definitions/fork_steps.rb
351
- - features/step_definitions/generator_steps.rb
352
- - features/step_definitions/path_steps.rb
353
- - features/step_definitions/pickle_steps.rb
354
- - features/step_definitions/raise_error_steps.rb
355
- - features/support/email.rb
356
- - features/support/env.rb
357
- - features/support/paths.rb
358
- - features/support/pickle.rb
359
- - features/support/pickle_app.rb
360
- - spec/pickle/adapter_spec.rb
361
- - spec/pickle/config_spec.rb
362
- - spec/pickle/email/parser_spec.rb
363
- - spec/pickle/email_spec.rb
364
- - spec/pickle/parser/matchers_spec.rb
365
- - spec/pickle/parser_spec.rb
366
- - spec/pickle/path_spec.rb
367
- - spec/pickle/session_spec.rb
368
- - spec/pickle_spec.rb
369
- - spec/spec_helper.rb
370
- has_rdoc:
366
+ test_files: []
data/Gemfile DELETED
@@ -1,3 +0,0 @@
1
- source "http://rubygems.org"
2
-
3
- gemspec
@@ -1,158 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- pickle (0.5.1)
5
- cucumber (>= 0.8)
6
- rake
7
-
8
- GEM
9
- remote: http://rubygems.org/
10
- specs:
11
- actionmailer (3.1.12)
12
- actionpack (= 3.1.12)
13
- mail (~> 2.4.4)
14
- actionpack (3.1.12)
15
- activemodel (= 3.1.12)
16
- activesupport (= 3.1.12)
17
- builder (~> 3.0.0)
18
- erubis (~> 2.7.0)
19
- i18n (~> 0.6)
20
- rack (~> 1.3.6)
21
- rack-cache (~> 1.2)
22
- rack-mount (~> 0.8.2)
23
- rack-test (~> 0.6.1)
24
- sprockets (~> 2.0.4)
25
- activemodel (3.1.12)
26
- activesupport (= 3.1.12)
27
- builder (~> 3.0.0)
28
- i18n (~> 0.6)
29
- activerecord (3.1.12)
30
- activemodel (= 3.1.12)
31
- activesupport (= 3.1.12)
32
- arel (~> 2.2.3)
33
- tzinfo (~> 0.3.29)
34
- activeresource (3.1.12)
35
- activemodel (= 3.1.12)
36
- activesupport (= 3.1.12)
37
- activesupport (3.1.12)
38
- multi_json (~> 1.0)
39
- arel (2.2.3)
40
- builder (3.0.4)
41
- capybara (2.4.4)
42
- mime-types (>= 1.16)
43
- nokogiri (>= 1.3.3)
44
- rack (>= 1.0.0)
45
- rack-test (>= 0.5.4)
46
- xpath (~> 2.0)
47
- cucumber (1.3.18)
48
- builder (>= 2.1.2)
49
- diff-lcs (>= 1.1.3)
50
- gherkin (~> 2.12)
51
- multi_json (>= 1.7.5, < 2.0)
52
- multi_test (>= 0.1.1)
53
- cucumber-rails (1.4.2)
54
- capybara (>= 1.1.2, < 3)
55
- cucumber (>= 1.3.8, < 2)
56
- mime-types (>= 1.16, < 3)
57
- nokogiri (~> 1.5)
58
- rails (>= 3, < 5)
59
- database_cleaner (1.4.0)
60
- diff-lcs (1.2.5)
61
- erubis (2.7.0)
62
- fabrication (2.12.0)
63
- factory_girl (4.5.0)
64
- activesupport (>= 3.0.0)
65
- gherkin (2.12.2)
66
- multi_json (~> 1.3)
67
- git (1.2.9)
68
- hike (1.2.3)
69
- i18n (0.7.0)
70
- json (1.8.2)
71
- machinist (2.0)
72
- mail (2.4.4)
73
- i18n (>= 0.4.0)
74
- mime-types (~> 1.16)
75
- treetop (~> 1.4.8)
76
- mime-types (1.25.1)
77
- mini_portile (0.6.2)
78
- multi_json (1.10.1)
79
- multi_test (0.1.1)
80
- nokogiri (1.6.5)
81
- mini_portile (~> 0.6.0)
82
- polyglot (0.3.5)
83
- rack (1.3.10)
84
- rack-cache (1.2)
85
- rack (>= 0.4)
86
- rack-mount (0.8.3)
87
- rack (>= 1.0.0)
88
- rack-ssl (1.3.4)
89
- rack
90
- rack-test (0.6.3)
91
- rack (>= 1.0)
92
- rails (3.1.12)
93
- actionmailer (= 3.1.12)
94
- actionpack (= 3.1.12)
95
- activerecord (= 3.1.12)
96
- activeresource (= 3.1.12)
97
- activesupport (= 3.1.12)
98
- bundler (~> 1.0)
99
- railties (= 3.1.12)
100
- railties (3.1.12)
101
- actionpack (= 3.1.12)
102
- activesupport (= 3.1.12)
103
- rack-ssl (~> 1.3.2)
104
- rake (>= 0.8.7)
105
- rdoc (~> 3.4)
106
- thor (~> 0.14.6)
107
- rake (10.4.2)
108
- rdoc (3.12.2)
109
- json (~> 1.4)
110
- rspec-core (3.1.7)
111
- rspec-support (~> 3.1.0)
112
- rspec-expectations (3.1.2)
113
- diff-lcs (>= 1.2.0, < 2.0)
114
- rspec-support (~> 3.1.0)
115
- rspec-mocks (3.1.3)
116
- rspec-support (~> 3.1.0)
117
- rspec-rails (3.1.0)
118
- actionpack (>= 3.0)
119
- activesupport (>= 3.0)
120
- railties (>= 3.0)
121
- rspec-core (~> 3.1.0)
122
- rspec-expectations (~> 3.1.0)
123
- rspec-mocks (~> 3.1.0)
124
- rspec-support (~> 3.1.0)
125
- rspec-support (3.1.2)
126
- sprockets (2.0.5)
127
- hike (~> 1.2)
128
- rack (~> 1.0)
129
- tilt (~> 1.1, != 1.3.0)
130
- sqlite3 (1.3.10)
131
- thor (0.14.6)
132
- tilt (1.4.1)
133
- treetop (1.4.15)
134
- polyglot
135
- polyglot (>= 0.3.1)
136
- tzinfo (0.3.42)
137
- xpath (2.0.0)
138
- nokogiri (~> 1.3)
139
- yard (0.8.7.6)
140
-
141
- PLATFORMS
142
- ruby
143
-
144
- DEPENDENCIES
145
- bundler
146
- capybara
147
- cucumber-rails
148
- database_cleaner
149
- fabrication (~> 2.0)
150
- factory_girl
151
- git
152
- machinist (~> 2.0)
153
- pickle!
154
- rack
155
- rails (~> 3.1.0)
156
- rspec-rails (~> 3.0)
157
- sqlite3
158
- yard