clearance 1.0.0.rc4 → 1.0.0.rc6
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.
Potentially problematic release.
This version of clearance might be problematic. Click here for more details.
- checksums.yaml +15 -0
- data/.travis.yml +14 -3
- data/Appraisals +7 -1
- data/Gemfile.lock +33 -26
- data/LICENSE +1 -1
- data/NEWS.md +13 -10
- data/README.md +44 -37
- data/Rakefile +3 -0
- data/app/controllers/clearance/passwords_controller.rb +6 -2
- data/app/views/clearance_mailer/change_password.html.erb +2 -2
- data/app/views/passwords/create.html.erb +3 -1
- data/app/views/passwords/edit.html.erb +15 -13
- data/app/views/passwords/new.html.erb +13 -11
- data/app/views/sessions/_form.html.erb +8 -3
- data/app/views/sessions/new.html.erb +4 -11
- data/app/views/users/_form.html.erb +2 -2
- data/app/views/users/new.html.erb +14 -5
- data/clearance.gemspec +5 -3
- data/config/locales/clearance.en.yml +53 -23
- data/config/routes.rb +3 -3
- data/gemfiles/{3.0.17.gemfile → 3.0.20.gemfile} +1 -1
- data/gemfiles/{3.0.17.gemfile.lock → 3.0.20.gemfile.lock} +62 -57
- data/gemfiles/{3.2.8.gemfile → 3.1.11.gemfile} +1 -1
- data/gemfiles/{3.1.8.gemfile.lock → 3.1.11.gemfile.lock} +70 -65
- data/gemfiles/{3.1.8.gemfile → 3.2.12.gemfile} +1 -1
- data/gemfiles/{3.2.8.gemfile.lock → 3.2.12.gemfile.lock} +74 -68
- data/gemfiles/3.2.13.rc2.gemfile +7 -0
- data/gemfiles/3.2.13.rc2.gemfile.lock +182 -0
- data/lib/clearance.rb +2 -1
- data/lib/clearance/authentication.rb +8 -53
- data/lib/clearance/authorization.rb +62 -0
- data/lib/clearance/back_door.rb +42 -0
- data/lib/clearance/controller.rb +11 -0
- data/lib/clearance/password_strategies/bcrypt.rb +13 -1
- data/lib/clearance/password_strategies/bcrypt_migration_from_sha1.rb +1 -0
- data/lib/clearance/password_strategies/blowfish.rb +5 -1
- data/lib/clearance/password_strategies/sha1.rb +5 -1
- data/lib/clearance/testing.rb +1 -1
- data/lib/clearance/testing/app/controllers/application_controller.rb +1 -1
- data/lib/clearance/user.rb +23 -10
- data/lib/clearance/version.rb +1 -1
- data/lib/generators/clearance/install/install_generator.rb +1 -1
- data/lib/generators/clearance/specs/templates/support/integration.rb +2 -0
- data/spec/clearance/back_door_spec.rb +39 -0
- data/spec/controllers/denies_controller_spec.rb +3 -2
- data/spec/controllers/flashes_controller_spec.rb +3 -3
- data/spec/controllers/forgeries_controller_spec.rb +3 -2
- data/spec/controllers/passwords_controller_spec.rb +14 -0
- data/spec/mailers/clearance_mailer_spec.rb +9 -1
- data/spec/models/bcrypt_migration_from_sha1_spec.rb +10 -9
- data/spec/models/bcrypt_spec.rb +21 -7
- data/spec/models/blowfish_spec.rb +1 -6
- data/spec/models/password_strategies_spec.rb +9 -3
- data/spec/models/sha1_spec.rb +1 -6
- data/spec/models/user_spec.rb +19 -9
- data/spec/support/clearance.rb +1 -1
- data/spec/support/fake_model_with_password_strategy.rb +14 -0
- metadata +54 -47
data/Rakefile
CHANGED
@@ -9,6 +9,9 @@ require 'cucumber/rake/task'
|
|
9
9
|
require 'rspec/core/rake_task'
|
10
10
|
require 'appraisal'
|
11
11
|
|
12
|
+
require 'clearance/testing/application'
|
13
|
+
Clearance::Testing::Application.load_tasks
|
14
|
+
|
12
15
|
task :default do
|
13
16
|
if ENV['BUNDLE_GEMFILE'] =~ /gemfiles/
|
14
17
|
exec 'rake spec cucumber'
|
@@ -10,7 +10,7 @@ class Clearance::PasswordsController < ApplicationController
|
|
10
10
|
def create
|
11
11
|
if user = find_user_for_create
|
12
12
|
user.forgot_password!
|
13
|
-
|
13
|
+
deliver_email(user)
|
14
14
|
end
|
15
15
|
render :template => 'passwords/create'
|
16
16
|
end
|
@@ -38,6 +38,10 @@ class Clearance::PasswordsController < ApplicationController
|
|
38
38
|
|
39
39
|
private
|
40
40
|
|
41
|
+
def deliver_email(user)
|
42
|
+
::ClearanceMailer.change_password(user).deliver
|
43
|
+
end
|
44
|
+
|
41
45
|
def password_reset_params
|
42
46
|
if params.has_key? :user
|
43
47
|
ActiveSupport::Deprecation.warn %{Since locales functionality was added, accessing params[:user] is no longer supported.}
|
@@ -53,7 +57,7 @@ class Clearance::PasswordsController < ApplicationController
|
|
53
57
|
end
|
54
58
|
|
55
59
|
def find_user_for_create
|
56
|
-
Clearance.configuration.user_model.
|
60
|
+
Clearance.configuration.user_model.find_by_normalized_email params[:password][:email]
|
57
61
|
end
|
58
62
|
|
59
63
|
def find_user_for_edit
|
@@ -1,16 +1,18 @@
|
|
1
|
-
<
|
1
|
+
<div id='clearance' class='password-reset'>
|
2
|
+
<h2><%= t '.title' %></h2>
|
2
3
|
|
3
|
-
<p><%= t '.description' %></p>
|
4
|
+
<p><%= t '.description' %></p>
|
4
5
|
|
5
|
-
<%= form_for :password_reset,
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
6
|
+
<%= form_for :password_reset,
|
7
|
+
:url => user_password_path(@user, :token => @user.confirmation_token),
|
8
|
+
:html => { :method => :put } do |form| %>
|
9
|
+
<div class='password-field'>
|
10
|
+
<%= form.label :password %>
|
11
|
+
<%= form.password_field :password %>
|
12
|
+
</div>
|
12
13
|
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
<% end %>
|
14
|
+
<div class='submit-field'>
|
15
|
+
<%= form.submit %>
|
16
|
+
</div>
|
17
|
+
<% end %>
|
18
|
+
</div>
|
@@ -1,14 +1,16 @@
|
|
1
|
-
<
|
1
|
+
<div id='clearance' class='password-reset'>
|
2
|
+
<h2><%= t '.title' %></h2>
|
2
3
|
|
3
|
-
<p><%= t '.description' %></p>
|
4
|
+
<p><%= t '.description' %></p>
|
4
5
|
|
5
|
-
<%= form_for :password, :url => passwords_path do |form| %>
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
6
|
+
<%= form_for :password, :url => passwords_path do |form| %>
|
7
|
+
<div class='text-field'>
|
8
|
+
<%= form.label :email %>
|
9
|
+
<%= form.text_field :email, :type => 'email' %>
|
10
|
+
</div>
|
10
11
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
<% end %>
|
12
|
+
<div class='submit-field'>
|
13
|
+
<%= form.submit %>
|
14
|
+
</div>
|
15
|
+
<% end %>
|
16
|
+
</div>
|
@@ -1,15 +1,20 @@
|
|
1
1
|
<%= form_for :session, :url => session_path do |form| %>
|
2
|
-
<div class='
|
2
|
+
<div class='text-field'>
|
3
3
|
<%= form.label :email %>
|
4
4
|
<%= form.text_field :email, :type => 'email' %>
|
5
5
|
</div>
|
6
6
|
|
7
|
-
<div class='
|
7
|
+
<div class='password-field'>
|
8
8
|
<%= form.label :password %>
|
9
9
|
<%= form.password_field :password %>
|
10
10
|
</div>
|
11
11
|
|
12
|
-
<div class='
|
12
|
+
<div class='submit-field'>
|
13
13
|
<%= form.submit %>
|
14
14
|
</div>
|
15
|
+
|
16
|
+
<div class='other-links'>
|
17
|
+
<%= link_to t('.sign_up'), sign_up_path %>
|
18
|
+
<%= link_to t('.forgot_password'), new_password_path %>
|
19
|
+
</div>
|
15
20
|
<% end %>
|
@@ -1,13 +1,6 @@
|
|
1
|
-
<
|
1
|
+
<div id='clearance' class='sign-in'>
|
2
|
+
<h2><%= t '.title' %></h2>
|
2
3
|
|
3
|
-
<%= render :partial => '/sessions/form' %>
|
4
|
+
<%= render :partial => '/sessions/form' %>
|
4
5
|
|
5
|
-
|
6
|
-
<li>
|
7
|
-
<%= link_to t('.sign_up'), sign_up_path %>
|
8
|
-
</li>
|
9
|
-
|
10
|
-
<li>
|
11
|
-
<%= link_to t('.forgot_password'), new_password_path %>
|
12
|
-
</li>
|
13
|
-
</ul>
|
6
|
+
</div>
|
@@ -1,9 +1,9 @@
|
|
1
|
-
<div class='
|
1
|
+
<div class='text-field'>
|
2
2
|
<%= form.label :email %>
|
3
3
|
<%= form.text_field :email, :type => 'email' %>
|
4
4
|
</div>
|
5
5
|
|
6
|
-
<div class='
|
6
|
+
<div class='password-field'>
|
7
7
|
<%= form.label :password %>
|
8
8
|
<%= form.password_field :password %>
|
9
9
|
</div>
|
@@ -1,6 +1,15 @@
|
|
1
|
-
<
|
1
|
+
<div id='clearance' class='sign-up'>
|
2
|
+
<h2>Sign up</h2>
|
2
3
|
|
3
|
-
<%= form_for @user do |form| %>
|
4
|
-
|
5
|
-
|
6
|
-
|
4
|
+
<%= form_for @user do |form| %>
|
5
|
+
<%= render :partial => '/users/form', :object => form %>
|
6
|
+
|
7
|
+
<div class='submit-field'>
|
8
|
+
<%= form.submit %>
|
9
|
+
</div>
|
10
|
+
|
11
|
+
<div class='other-links'>
|
12
|
+
<%= link_to t('.sign_in'), sign_in_path %>
|
13
|
+
</div>
|
14
|
+
<% end %>
|
15
|
+
</div>
|
data/clearance.gemspec
CHANGED
@@ -23,16 +23,18 @@ Gem::Specification.new do |s|
|
|
23
23
|
s.required_ruby_version = Gem::Requirement.new('>= 1.9.2')
|
24
24
|
|
25
25
|
s.add_dependency 'bcrypt-ruby'
|
26
|
+
s.add_dependency 'email_validator'
|
26
27
|
s.add_dependency 'rails', '>= 3.0'
|
27
28
|
s.add_development_dependency 'appraisal', '0.4.1'
|
28
29
|
s.add_development_dependency 'aruba', '0.4.11'
|
29
|
-
s.add_development_dependency 'bourne', '1.
|
30
|
-
s.add_development_dependency 'bundler', '~> 1.
|
30
|
+
s.add_development_dependency 'bourne', '1.3.0'
|
31
|
+
s.add_development_dependency 'bundler', '~> 1.1'
|
31
32
|
s.add_development_dependency 'capybara', '1.1.2'
|
32
33
|
s.add_development_dependency 'cucumber-rails', '1.1.1'
|
33
34
|
s.add_development_dependency 'database_cleaner', '0.8.0'
|
34
35
|
s.add_development_dependency 'factory_girl_rails', '3.5.0'
|
35
|
-
s.add_development_dependency '
|
36
|
+
s.add_development_dependency 'psych', '~> 1.3.4'
|
37
|
+
s.add_development_dependency 'rspec-rails', '2.12.2'
|
36
38
|
s.add_development_dependency 'shoulda-matchers', '1.2.0'
|
37
39
|
s.add_development_dependency 'sqlite3', '1.3.6'
|
38
40
|
s.add_development_dependency 'timecop', '0.3.5'
|
@@ -1,42 +1,72 @@
|
|
1
1
|
en:
|
2
|
+
clearance_mailer:
|
3
|
+
change_password:
|
4
|
+
opening:
|
5
|
+
'Someone, hopefully you, requested we send you a link to change your
|
6
|
+
password:'
|
7
|
+
closing:
|
8
|
+
"If you didn't request this, ignore this email. Your password has not
|
9
|
+
been changed."
|
2
10
|
flashes:
|
3
|
-
failure_when_forbidden:
|
4
|
-
|
5
|
-
|
11
|
+
failure_when_forbidden:
|
12
|
+
'Please double check the URL or try submitting the form again.'
|
13
|
+
failure_after_update:
|
14
|
+
"Password can't be blank."
|
15
|
+
failure_after_create:
|
16
|
+
'Bad email or password. Are you trying to register a new account?
|
17
|
+
<a href="%{sign_up_path}">Sign up</a>.'
|
6
18
|
helpers:
|
7
19
|
submit:
|
8
20
|
password:
|
9
|
-
submit:
|
21
|
+
submit:
|
22
|
+
'Reset password'
|
10
23
|
password_reset:
|
11
|
-
submit:
|
24
|
+
submit:
|
25
|
+
'Save this password'
|
12
26
|
session:
|
13
|
-
submit:
|
27
|
+
submit:
|
28
|
+
'Sign in'
|
14
29
|
user:
|
15
|
-
create:
|
30
|
+
create:
|
31
|
+
'Sign up'
|
16
32
|
label:
|
17
33
|
password:
|
18
|
-
email:
|
34
|
+
email:
|
35
|
+
'Email address'
|
19
36
|
password_reset:
|
20
|
-
password:
|
37
|
+
password:
|
38
|
+
'Choose password'
|
21
39
|
layouts:
|
22
40
|
application:
|
23
|
-
sign_in:
|
24
|
-
|
41
|
+
sign_in:
|
42
|
+
'Sign in'
|
43
|
+
sign_out:
|
44
|
+
'Sign out'
|
25
45
|
passwords:
|
26
46
|
create:
|
27
|
-
description:
|
47
|
+
description:
|
48
|
+
'You will receive an email within the next few minutes.
|
49
|
+
It contains instructions for changing your password.'
|
28
50
|
edit:
|
29
|
-
|
30
|
-
|
51
|
+
description:
|
52
|
+
'Your password has been reset. Choose a new password below.'
|
53
|
+
title:
|
54
|
+
'Change your password'
|
31
55
|
new:
|
32
|
-
|
33
|
-
|
56
|
+
description:
|
57
|
+
'To be emailed a link to reset your password, please enter your email
|
58
|
+
address.'
|
59
|
+
title:
|
60
|
+
'Reset your password'
|
34
61
|
sessions:
|
35
62
|
new:
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
63
|
+
forgot_password:
|
64
|
+
'Forgot password?'
|
65
|
+
sign_up:
|
66
|
+
'Sign up'
|
67
|
+
title:
|
68
|
+
'Sign in'
|
69
|
+
users:
|
70
|
+
new:
|
71
|
+
sign_in:
|
72
|
+
'Sign in'
|
data/config/routes.rb
CHANGED
@@ -15,7 +15,7 @@ Rails.application.routes.draw do
|
|
15
15
|
:only => [:create, :edit, :update]
|
16
16
|
end
|
17
17
|
|
18
|
-
|
19
|
-
|
20
|
-
|
18
|
+
get '/sign_in' => 'clearance/sessions#new', :as => 'sign_in'
|
19
|
+
delete '/sign_out' => 'clearance/sessions#destroy', :as => 'sign_out'
|
20
|
+
get '/sign_up' => 'clearance/users#new', :as => 'sign_up'
|
21
21
|
end
|
@@ -1,20 +1,21 @@
|
|
1
1
|
PATH
|
2
|
-
remote:
|
2
|
+
remote: ../
|
3
3
|
specs:
|
4
|
-
clearance (1.0.0.
|
4
|
+
clearance (1.0.0.rc5)
|
5
5
|
bcrypt-ruby
|
6
|
+
email_validator
|
6
7
|
rails (>= 3.0)
|
7
8
|
|
8
9
|
GEM
|
9
10
|
remote: http://rubygems.org/
|
10
11
|
specs:
|
11
12
|
abstract (1.0.0)
|
12
|
-
actionmailer (3.0.
|
13
|
-
actionpack (= 3.0.
|
13
|
+
actionmailer (3.0.20)
|
14
|
+
actionpack (= 3.0.20)
|
14
15
|
mail (~> 2.2.19)
|
15
|
-
actionpack (3.0.
|
16
|
-
activemodel (= 3.0.
|
17
|
-
activesupport (= 3.0.
|
16
|
+
actionpack (3.0.20)
|
17
|
+
activemodel (= 3.0.20)
|
18
|
+
activesupport (= 3.0.20)
|
18
19
|
builder (~> 2.1.2)
|
19
20
|
erubis (~> 2.6.6)
|
20
21
|
i18n (~> 0.5.0)
|
@@ -22,20 +23,19 @@ GEM
|
|
22
23
|
rack-mount (~> 0.6.14)
|
23
24
|
rack-test (~> 0.5.7)
|
24
25
|
tzinfo (~> 0.3.23)
|
25
|
-
activemodel (3.0.
|
26
|
-
activesupport (= 3.0.
|
26
|
+
activemodel (3.0.20)
|
27
|
+
activesupport (= 3.0.20)
|
27
28
|
builder (~> 2.1.2)
|
28
29
|
i18n (~> 0.5.0)
|
29
|
-
activerecord (3.0.
|
30
|
-
activemodel (= 3.0.
|
31
|
-
activesupport (= 3.0.
|
30
|
+
activerecord (3.0.20)
|
31
|
+
activemodel (= 3.0.20)
|
32
|
+
activesupport (= 3.0.20)
|
32
33
|
arel (~> 2.0.10)
|
33
34
|
tzinfo (~> 0.3.23)
|
34
|
-
activeresource (3.0.
|
35
|
-
activemodel (= 3.0.
|
36
|
-
activesupport (= 3.0.
|
37
|
-
activesupport (3.0.
|
38
|
-
addressable (2.3.2)
|
35
|
+
activeresource (3.0.20)
|
36
|
+
activemodel (= 3.0.20)
|
37
|
+
activesupport (= 3.0.20)
|
38
|
+
activesupport (3.0.20)
|
39
39
|
appraisal (0.4.1)
|
40
40
|
bundler
|
41
41
|
rake
|
@@ -46,8 +46,8 @@ GEM
|
|
46
46
|
ffi (>= 1.0.11)
|
47
47
|
rspec (>= 2.7.0)
|
48
48
|
bcrypt-ruby (3.0.1)
|
49
|
-
bourne (1.
|
50
|
-
mocha (= 0.
|
49
|
+
bourne (1.3.0)
|
50
|
+
mocha (= 0.13.0)
|
51
51
|
builder (2.1.2)
|
52
52
|
capybara (1.1.2)
|
53
53
|
mime-types (>= 1.16)
|
@@ -56,7 +56,7 @@ GEM
|
|
56
56
|
rack-test (>= 0.5.4)
|
57
57
|
selenium-webdriver (~> 2.0)
|
58
58
|
xpath (~> 0.1.4)
|
59
|
-
childprocess (0.3.
|
59
|
+
childprocess (0.3.7)
|
60
60
|
ffi (~> 1.0, >= 1.0.6)
|
61
61
|
cucumber (1.2.1)
|
62
62
|
builder (>= 2.1.2)
|
@@ -69,6 +69,8 @@ GEM
|
|
69
69
|
nokogiri (>= 1.5.0)
|
70
70
|
database_cleaner (0.8.0)
|
71
71
|
diff-lcs (1.1.3)
|
72
|
+
email_validator (1.3.0)
|
73
|
+
activemodel
|
72
74
|
erubis (2.6.6)
|
73
75
|
abstract (>= 1.0.0)
|
74
76
|
factory_girl (3.5.0)
|
@@ -76,13 +78,11 @@ GEM
|
|
76
78
|
factory_girl_rails (3.5.0)
|
77
79
|
factory_girl (~> 3.5.0)
|
78
80
|
railties (>= 3.0.0)
|
79
|
-
ffi (1.1
|
80
|
-
gherkin (2.11.
|
81
|
+
ffi (1.3.1)
|
82
|
+
gherkin (2.11.5)
|
81
83
|
json (>= 1.4.6)
|
82
84
|
i18n (0.5.0)
|
83
|
-
json (1.7.
|
84
|
-
libwebsocket (0.1.5)
|
85
|
-
addressable
|
85
|
+
json (1.7.6)
|
86
86
|
mail (2.2.19)
|
87
87
|
activesupport (>= 2.3.6)
|
88
88
|
i18n (>= 0.4.0)
|
@@ -90,61 +90,65 @@ GEM
|
|
90
90
|
treetop (~> 1.4.8)
|
91
91
|
metaclass (0.0.1)
|
92
92
|
mime-types (1.19)
|
93
|
-
mocha (0.
|
93
|
+
mocha (0.13.0)
|
94
94
|
metaclass (~> 0.0.1)
|
95
|
-
multi_json (1.
|
96
|
-
nokogiri (1.5.
|
95
|
+
multi_json (1.5.0)
|
96
|
+
nokogiri (1.5.6)
|
97
97
|
polyglot (0.3.3)
|
98
|
-
|
98
|
+
psych (1.3.4)
|
99
|
+
rack (1.2.7)
|
99
100
|
rack-mount (0.6.14)
|
100
101
|
rack (>= 1.0.0)
|
101
102
|
rack-test (0.5.7)
|
102
103
|
rack (>= 1.0)
|
103
|
-
rails (3.0.
|
104
|
-
actionmailer (= 3.0.
|
105
|
-
actionpack (= 3.0.
|
106
|
-
activerecord (= 3.0.
|
107
|
-
activeresource (= 3.0.
|
108
|
-
activesupport (= 3.0.
|
104
|
+
rails (3.0.20)
|
105
|
+
actionmailer (= 3.0.20)
|
106
|
+
actionpack (= 3.0.20)
|
107
|
+
activerecord (= 3.0.20)
|
108
|
+
activeresource (= 3.0.20)
|
109
|
+
activesupport (= 3.0.20)
|
109
110
|
bundler (~> 1.0)
|
110
|
-
railties (= 3.0.
|
111
|
-
railties (3.0.
|
112
|
-
actionpack (= 3.0.
|
113
|
-
activesupport (= 3.0.
|
111
|
+
railties (= 3.0.20)
|
112
|
+
railties (3.0.20)
|
113
|
+
actionpack (= 3.0.20)
|
114
|
+
activesupport (= 3.0.20)
|
114
115
|
rake (>= 0.8.7)
|
115
116
|
rdoc (~> 3.4)
|
116
117
|
thor (~> 0.14.4)
|
117
|
-
rake (0.
|
118
|
+
rake (10.0.3)
|
118
119
|
rdoc (3.12)
|
119
120
|
json (~> 1.4)
|
120
|
-
rspec (2.
|
121
|
-
rspec-core (~> 2.
|
122
|
-
rspec-expectations (~> 2.
|
123
|
-
rspec-mocks (~> 2.
|
124
|
-
rspec-core (2.
|
125
|
-
rspec-expectations (2.
|
121
|
+
rspec (2.12.0)
|
122
|
+
rspec-core (~> 2.12.0)
|
123
|
+
rspec-expectations (~> 2.12.0)
|
124
|
+
rspec-mocks (~> 2.12.0)
|
125
|
+
rspec-core (2.12.2)
|
126
|
+
rspec-expectations (2.12.1)
|
126
127
|
diff-lcs (~> 1.1.3)
|
127
|
-
rspec-mocks (2.
|
128
|
-
rspec-rails (2.
|
128
|
+
rspec-mocks (2.12.2)
|
129
|
+
rspec-rails (2.12.2)
|
129
130
|
actionpack (>= 3.0)
|
130
131
|
activesupport (>= 3.0)
|
131
132
|
railties (>= 3.0)
|
132
|
-
rspec (~> 2.
|
133
|
+
rspec-core (~> 2.12.0)
|
134
|
+
rspec-expectations (~> 2.12.0)
|
135
|
+
rspec-mocks (~> 2.12.0)
|
133
136
|
rubyzip (0.9.9)
|
134
|
-
selenium-webdriver (2.
|
137
|
+
selenium-webdriver (2.29.0)
|
135
138
|
childprocess (>= 0.2.5)
|
136
|
-
libwebsocket (~> 0.1.3)
|
137
139
|
multi_json (~> 1.0)
|
138
140
|
rubyzip
|
141
|
+
websocket (~> 1.0.4)
|
139
142
|
shoulda-matchers (1.2.0)
|
140
143
|
activesupport (>= 3.0.0)
|
141
144
|
sqlite3 (1.3.6)
|
142
145
|
thor (0.14.6)
|
143
146
|
timecop (0.3.5)
|
144
|
-
treetop (1.4.
|
147
|
+
treetop (1.4.12)
|
145
148
|
polyglot
|
146
149
|
polyglot (>= 0.3.1)
|
147
|
-
tzinfo (0.3.
|
150
|
+
tzinfo (0.3.35)
|
151
|
+
websocket (1.0.7)
|
148
152
|
xpath (0.1.4)
|
149
153
|
nokogiri (~> 1.3)
|
150
154
|
|
@@ -154,15 +158,16 @@ PLATFORMS
|
|
154
158
|
DEPENDENCIES
|
155
159
|
appraisal (= 0.4.1)
|
156
160
|
aruba (= 0.4.11)
|
157
|
-
bourne (= 1.
|
158
|
-
bundler (~> 1.
|
161
|
+
bourne (= 1.3.0)
|
162
|
+
bundler (~> 1.1)
|
159
163
|
capybara (= 1.1.2)
|
160
164
|
clearance!
|
161
165
|
cucumber-rails (= 1.1.1)
|
162
166
|
database_cleaner (= 0.8.0)
|
163
167
|
factory_girl_rails (= 3.5.0)
|
164
|
-
|
165
|
-
|
168
|
+
psych (~> 1.3.4)
|
169
|
+
rails (= 3.0.20)
|
170
|
+
rspec-rails (= 2.12.2)
|
166
171
|
shoulda-matchers (= 1.2.0)
|
167
172
|
sqlite3 (= 1.3.6)
|
168
173
|
timecop (= 0.3.5)
|