solidus_auth_devise 1.4.0 → 1.5.0

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 solidus_auth_devise might be problematic. Click here for more details.

Files changed (34) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +117 -0
  3. data/README.md +18 -1
  4. data/app/mailers/spree/user_mailer.rb +6 -6
  5. data/app/models/spree/auth_configuration.rb +3 -3
  6. data/app/overrides/auth_shared_login_bar.rb +8 -6
  7. data/config/locales/zh-CN.yml +53 -0
  8. data/config/routes.rb +1 -1
  9. data/lib/controllers/backend/spree/admin/user_passwords_controller.rb +3 -3
  10. data/lib/controllers/backend/spree/admin/user_sessions_controller.rb +1 -1
  11. data/lib/controllers/frontend/spree/checkout_controller_decorator.rb +4 -2
  12. data/lib/controllers/frontend/spree/user_passwords_controller.rb +3 -3
  13. data/lib/controllers/frontend/spree/user_registrations_controller.rb +1 -1
  14. data/lib/controllers/frontend/spree/user_sessions_controller.rb +4 -0
  15. data/lib/controllers/frontend/spree/users_controller.rb +5 -5
  16. data/lib/spree/auth/engine.rb +48 -45
  17. data/lib/spree/authentication_helpers.rb +16 -11
  18. data/lib/views/backend/spree/admin/shared/_navigation_footer.html.erb +2 -2
  19. data/lib/views/backend/spree/admin/user_passwords/edit.html.erb +3 -3
  20. data/lib/views/backend/spree/admin/user_passwords/new.html.erb +3 -3
  21. data/lib/views/backend/spree/admin/user_sessions/new.html.erb +5 -5
  22. data/lib/views/backend/spree/layouts/admin/_login_nav.html.erb +2 -2
  23. data/lib/views/frontend/spree/checkout/registration.html.erb +4 -4
  24. data/lib/views/frontend/spree/shared/_login.html.erb +5 -5
  25. data/lib/views/frontend/spree/shared/_user_form.html.erb +3 -3
  26. data/lib/views/frontend/spree/user_passwords/edit.html.erb +4 -4
  27. data/lib/views/frontend/spree/user_passwords/new.html.erb +3 -3
  28. data/lib/views/frontend/spree/user_registrations/new.html.erb +3 -3
  29. data/lib/views/frontend/spree/user_sessions/new.html.erb +1 -1
  30. data/lib/views/frontend/spree/users/edit.html.erb +5 -5
  31. data/lib/views/frontend/spree/users/show.html.erb +1 -1
  32. data/solidus_auth_devise.gemspec +7 -7
  33. data/spec/support/authentication_helpers.rb +2 -2
  34. metadata +17 -15
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 069e3cf3d0b487a02fd0cd8f90229d91d21ee49c
4
- data.tar.gz: 8c03169fd0298d4ddeeb75b82974fffcd97faf5c
3
+ metadata.gz: ed48bb8fc53ea89e494278ad2016e10fcfbd30bc
4
+ data.tar.gz: b761cf86babf945a3433d9aa1cf2b9279139e52c
5
5
  SHA512:
6
- metadata.gz: b4cfbbb456e6a83241eb691cf1fa639bf30a8803ceb2a24cf2f18b7f36cd091ee20b16eb44cfe38c2e059afbe0f53ac23c0580b906f12265ca597845ce5b546a
7
- data.tar.gz: f4caa243ed037ab7dfe34e629c36b43a5e0cce9d2b6ecc82d353917bd1e5389a0b1a42fc9c92ac5a95ab22481313a206559f39d559aecde8927e9a158b4c6734
6
+ metadata.gz: 8a8ecb33d6be656864477bcc7d55b7adb1b3a8ee19b3061c49e48e618fb21b098a0ab86cfdbba117fff817c0e4b87306dbf5caa7203e2d674b74e3adcd03d862
7
+ data.tar.gz: 035211966358072827219d129f5dece6b04bd7a5d47316dd5d7bc5d40cdd700b314774a434e7f288f50bd9f42a03acbc1ded8c381f925deed2cf1b038caef878
@@ -0,0 +1,117 @@
1
+ ## Solidus Auth Devise v1.6.0 (master, unreleased)
2
+
3
+ ## Solidus Auth Devise v1.5.0 (2016-07-18)
4
+
5
+ * Add call to set_current_order on sign in. This replaces a before filter that
6
+ is being eliminated from Solidus controllers where set_current_order was
7
+ called excessively.
8
+
9
+ * Update backend views to only reference backend routes (#57)
10
+
11
+ * Devise dependency updates
12
+
13
+ The locked versions of Devise and Devise-Encryptable have been updated.
14
+ Devise, in particular, has been bumped to a new major version, which removes
15
+ support for the following:
16
+
17
+ - Rails 3.2. and 4.0
18
+ - Ruby 1.9 and 2.0
19
+
20
+ These losses are deemed acceptable, as Solidus' core itself does not
21
+ support any of these versions.
22
+
23
+ For more details on the changes, see the Devise changelog:
24
+ https://github.com/plataformatec/devise/blob/master/CHANGELOG.md
25
+
26
+ Similar changes in `devise-encryptable`, with details in the changelog:
27
+ https://github.com/plataformatec/devise-encryptable/blob/master/Changelog.md
28
+
29
+ * Addition of Chinese translations (#64)
30
+
31
+ ## Solidus Auth Devise v1.4.0 (2016-05-16)
32
+
33
+ * Update hash syntax for routes.rb
34
+ * Make route syntax consistent and modern
35
+ * Make devise_for routes conditional
36
+ * Test against solidus 1.3
37
+ * check_authorization first in CheckoutController
38
+ * Ensure current_order exists checking registration
39
+ * Add vendor to .gitignore
40
+ * Revert "ChcktController checks auth and registration first"
41
+ * ChcktController checks auth and registration first
42
+ * Remove obsolete regression test
43
+ * Remove superfluous call to associate_user
44
+ * Test and fix order association
45
+ * Re-add Solidus 1.0 compatability
46
+ * Improve readability of check_registration
47
+ * Force registration when guest checkout not allowed
48
+ * Improve check_registration spec for guest case
49
+ * Add pg and mysql2 to Gemfile
50
+ * Also test against v1.1 and v1.2
51
+ * Allow https instead of git in gemfile
52
+ * Ignore pkg directory
53
+ * Update .travis.yml
54
+ * Update README testing section
55
+ * Fix specs now that order's store is required
56
+ * Moved the encryptor setting for the User model into the devise config, allowing it to be easily overridden from the local devise config.
57
+
58
+ ## Solidus Auth Devise v1.3.0 (2016-01-12)
59
+
60
+ * Add capybara-screenshot
61
+ * Remove restriction on sass-rails and coffee-rails
62
+ * Remove the "Logged in as:" message
63
+ * Correct use of font-awesome
64
+ * Swap .inline-menu for specific hook
65
+ * Add new template override
66
+ * remove duplicate translation
67
+ * add missing translations for German locale
68
+
69
+ ## Solidus Auth Devise v1.2.3 (2015-11-30)
70
+
71
+ * Add an explicit require to deface
72
+ * Check if front/backend are available before decorating the controllers
73
+ * Rename spree@example.com to admin@example.com
74
+ * Skip the confirmation spec
75
+ * Permit editing email
76
+
77
+ ## Solidus Auth Devise v1.2.2 (2015-10-01)
78
+
79
+ * Automatically regenerate a user's spree_api_key upon password change.
80
+ * Inherit from Spree::Base
81
+ * Explicitely add deface to gemfile
82
+ * Remove some redundant includes
83
+ * Remove unneeded monkey patching
84
+ * Remove brittle spec
85
+ * Pass store to from_address helper
86
+ * Fix broken specs
87
+
88
+ ## Solidus Auth Devise v1.2.0 (2015-07-22)
89
+
90
+ * Use new extension point for access denied.
91
+ * Explicitly include UserMethods on Spree::User
92
+ * Bump rspec to 3.3 and remove minor patch restriction.
93
+ * We no longer redirect to admin/orders by default.
94
+ * Skip adding devise.rb if it already exists.
95
+ * Fix checkout spec
96
+ * Bump to RSpec 3.2
97
+ * Use non-deprecated `deliver_now` in mailer spec.
98
+ * Fix generator name.
99
+
100
+ ## Solidus Auth Devise v1.1.0 (2015-06-03)
101
+
102
+ * Updates for devise 3.5.1
103
+ * Bump devise to ~> 3.5.1
104
+ * Avoid stubbing to fix checkout spec
105
+ * Minor update to README.md
106
+ * Remove Spree::Core::ControllerHelpers::SSL
107
+ * Add circle.yml
108
+ * Use git+ssh for solidus gem
109
+ * Remove dead code.
110
+ * Refactor UserSessionsController and specs
111
+ * Remove @user from UserRegistrationsController
112
+ * Add specs for UserRegistrationsController
113
+ * Remove empty overrides in registrations controller
114
+
115
+ ## Solidus Auth Devise v1.0.0 (2015-05-26)
116
+
117
+ * Initial Release
data/README.md CHANGED
@@ -7,22 +7,37 @@ Installation
7
7
  ------------
8
8
 
9
9
  Just add this line to your `Gemfile`:
10
+
10
11
  ```ruby
11
12
  gem "solidus_auth_devise"
12
13
  ```
13
14
 
14
- Then run `bundle install`.
15
+ Then, run `bundle install`.
16
+
17
+ After that's done, you can install and run the necessary migrations, then seed the database:
18
+
19
+ ```shell
20
+ bundle exec rake solidus_auth:install:migration
21
+ bundle exec rake db:migrate
22
+ bundle exec rake db:seed
23
+ ```
24
+
25
+ ### Default Username/Password
26
+
27
+ As part of running the above installation steps, you will be asked to set an admin email/password combination. The default values are `admin@example.com` and `test123`, respectively.
15
28
 
16
29
  ### Confirmable
17
30
 
18
31
  To enable Devise's Confirmable module, which will send the user an email with a link to confirm their account, you must do the following:
19
32
 
20
33
  * Add this line to an initializer in your Rails project (typically `config/initializers/spree.rb`):
34
+
21
35
  ```ruby
22
36
  Spree::Auth::Config[:confirmable] = true
23
37
  ```
24
38
 
25
39
  * Add a Devise initializer to your Rails project (typically `config/initializers/devise.rb`):
40
+
26
41
  ```ruby
27
42
  Devise.setup do |config|
28
43
  # Required so users don't lose their carts when they need to confirm.
@@ -57,11 +72,13 @@ end
57
72
  ```
58
73
 
59
74
  Then register your class in your spree initializer: config/initializers/spree.rb
75
+
60
76
  ```ruby
61
77
  Spree::Ability.register_ability(SuperAbilities)
62
78
  ```
63
79
 
64
80
  Inside of your host application you can then use CanCan like you normally would.
81
+
65
82
  ```erb
66
83
  <% if can? :stop Bullet %>
67
84
  ...
@@ -1,15 +1,15 @@
1
1
  module Spree
2
2
  class UserMailer < BaseMailer
3
3
  def reset_password_instructions(user, token, *args)
4
- @edit_password_reset_url = spree.edit_spree_user_password_url(:reset_password_token => token, :host => Spree::Store.current.url)
5
- @store = Spree::Store.current
6
- mail to: user.email, from: from_address(@store), subject: "#{@store.name} #{I18n.t(:subject, :scope => [:devise, :mailer, :reset_password_instructions])}"
4
+ @store = Spree::Store.default
5
+ @edit_password_reset_url = spree.edit_spree_user_password_url(reset_password_token: token, host: @store.url)
6
+ mail to: user.email, from: from_address(@store), subject: "#{@store.name} #{I18n.t(:subject, scope: [:devise, :mailer, :reset_password_instructions])}"
7
7
  end
8
8
 
9
9
  def confirmation_instructions(user, token, opts={})
10
- @confirmation_url = spree.spree_user_confirmation_url(:confirmation_token => token, :host => Spree::Store.current.url)
11
- @store = Spree::Store.current
12
- mail to: user.email, from: from_address(@store), subject: "#{@store.name} #{I18n.t(:subject, :scope => [:devise, :mailer, :confirmation_instructions])}"
10
+ @store = Spree::Store.default
11
+ @confirmation_url = spree.spree_user_confirmation_url(confirmation_token: token, host: @store.url)
12
+ mail to: user.email, from: from_address(@store), subject: "#{@store.name} #{I18n.t(:subject, scope: [:devise, :mailer, :confirmation_instructions])}"
13
13
  end
14
14
  end
15
15
  end
@@ -1,7 +1,7 @@
1
1
  module Spree
2
2
  class AuthConfiguration < Preferences::Configuration
3
- preference :registration_step, :boolean, :default => true
4
- preference :signout_after_password_change, :boolean, :default => true
5
- preference :confirmable, :boolean, :default => false
3
+ preference :registration_step, :boolean, default: true
4
+ preference :signout_after_password_change, :boolean, default: true
5
+ preference :confirmable, :boolean, default: false
6
6
  end
7
7
  end
@@ -1,6 +1,8 @@
1
- Deface::Override.new(:virtual_path => "spree/shared/_nav_bar",
2
- :name => "auth_shared_login_bar",
3
- :insert_before => "li#search-bar",
4
- :partial => "spree/shared/login_bar",
5
- :disabled => false,
6
- :original => 'eb3fa668cd98b6a1c75c36420ef1b238a1fc55ac')
1
+ Deface::Override.new(
2
+ virtual_path: "spree/shared/_nav_bar",
3
+ name: "auth_shared_login_bar",
4
+ insert_before: "li#search-bar",
5
+ partial: "spree/shared/login_bar",
6
+ disabled: false,
7
+ original: 'eb3fa668cd98b6a1c75c36420ef1b238a1fc55ac'
8
+ )
@@ -0,0 +1,53 @@
1
+ ---
2
+ zh-CN:
3
+ spree:
4
+ admin_login:
5
+ devise:
6
+ confirmations:
7
+ confirmed: 账户确认成功,现已登录。
8
+ send_instructions: 稍后您将收到邮件,了解如何确认账户。
9
+ failure:
10
+ inactive: 您的账户尚未激活。
11
+ invalid: 邮箱或密码错误。
12
+ invalid_token: 验证凭证错误。
13
+ locked: 账户已锁定。
14
+ timeout: 账户闲置时间过长,请重新登录。
15
+ unauthenticated: 请注册或登录,然后继续。
16
+ unconfirmed: 请确认账户,然后继续。
17
+ mailer:
18
+ confirmation_instructions:
19
+ subject: 确认说明
20
+ reset_password_instructions:
21
+ subject: 密码重置说明
22
+ unlock_instructions:
23
+ subject: 解锁说明
24
+ oauth_callbacks:
25
+ failure: 无法从%{kind}授权,原因为 %{reason}。
26
+ success: 从%{kind}账户授权成功。
27
+ unlocks:
28
+ send_instructions: 稍后您将收到邮件,了解如何解锁账户。
29
+ unlocked: 账户解锁成功,现已登录。
30
+ user_passwords:
31
+ spree_user:
32
+ cannot_be_blank: 密码不能为空。
33
+ no_token: 若需访问本页面,请使用重置密码邮件中网址链接,并确保该网址完整。
34
+ send_instructions: 稍后您将收到邮件,了解如何重置密码。
35
+ updated: 密码修改成功,现已登录。
36
+ user_registrations:
37
+ destroyed: 账户已成功取消,再会啦,期待着您的早日回归!
38
+ inactive_signed_up: 注册成功!但暂时无法登录账户,原因为%{reason}。
39
+ signed_up: 祝贺您!注册成功。
40
+ updated: 账户更新成功。
41
+ user_sessions:
42
+ signed_in: 登录成功。
43
+ signed_out: 登出成功。
44
+ already_signed_in: 已登录。
45
+ errors:
46
+ messages:
47
+ already_confirmed: 已确认
48
+ email_is_invalid: 邮箱地址不能为空
49
+ not_found: 未找到
50
+ not_locked: 未锁定
51
+ not_saved:
52
+ one: '出现1处错误,%{resource}无法保存'
53
+ other: '出现%{count}处错误,%{resource}无法保存'
@@ -1,4 +1,4 @@
1
- Spree::Core::Engine.add_routes do
1
+ Spree::Core::Engine.routes.draw do
2
2
  if Spree::Auth::Engine.frontend_available?
3
3
  devise_for(:spree_user, {
4
4
  class_name: 'Spree::User',
@@ -10,18 +10,18 @@ class Spree::Admin::UserPasswordsController < Devise::PasswordsController
10
10
  layout 'spree/layouts/admin'
11
11
 
12
12
  # Overridden due to bug in Devise.
13
- # respond_with resource, :location => new_session_path(resource_name)
13
+ # respond_with resource, location: new_session_path(resource_name)
14
14
  # is generating bad url /session/new.user
15
15
  #
16
16
  # overridden to:
17
- # respond_with resource, :location => spree.login_path
17
+ # respond_with resource, location: spree.login_path
18
18
  #
19
19
  def create
20
20
  self.resource = resource_class.send_reset_password_instructions(params[resource_name])
21
21
 
22
22
  if resource.errors.empty?
23
23
  set_flash_message(:notice, :send_instructions) if is_navigational_format?
24
- respond_with resource, :location => spree.admin_login_path
24
+ respond_with resource, location: spree.admin_login_path
25
25
  else
26
26
  respond_with_navigational(resource) { render :new }
27
27
  end
@@ -20,7 +20,7 @@ class Spree::Admin::UserSessionsController < Devise::SessionsController
20
20
  }
21
21
  format.js {
22
22
  user = resource.record
23
- render :json => {:ship_address => user.ship_address, :bill_address => user.bill_address}.to_json
23
+ render json: {ship_address: user.ship_address, bill_address: user.bill_address}.to_json
24
24
  }
25
25
  end
26
26
  else
@@ -12,7 +12,7 @@ Spree::CheckoutController.class_eval do
12
12
  if params[:order][:email] =~ Devise.email_regexp && current_order.update_attribute(:email, params[:order][:email])
13
13
  redirect_to spree.checkout_path
14
14
  else
15
- flash[:registration_error] = t(:email_is_invalid, :scope => [:errors, :messages])
15
+ flash[:registration_error] = t(:email_is_invalid, scope: [:errors, :messages])
16
16
  @user = Spree::User.new
17
17
  render 'registration'
18
18
  end
@@ -20,7 +20,9 @@ Spree::CheckoutController.class_eval do
20
20
 
21
21
  private
22
22
  def order_params
23
- params[:order] ? params.require(:order).permit(:email) : {}
23
+ params.
24
+ fetch(:order, {}).
25
+ permit(:email)
24
26
  end
25
27
 
26
28
  def skip_state_validation?
@@ -11,18 +11,18 @@ class Spree::UserPasswordsController < Devise::PasswordsController
11
11
  include Spree::Core::ControllerHelpers::Store
12
12
 
13
13
  # Overridden due to bug in Devise.
14
- # respond_with resource, :location => new_session_path(resource_name)
14
+ # respond_with resource, location: new_session_path(resource_name)
15
15
  # is generating bad url /session/new.user
16
16
  #
17
17
  # overridden to:
18
- # respond_with resource, :location => spree.login_path
18
+ # respond_with resource, location: spree.login_path
19
19
  #
20
20
  def create
21
21
  self.resource = resource_class.send_reset_password_instructions(params[resource_name])
22
22
 
23
23
  if resource.errors.empty?
24
24
  set_flash_message(:notice, :send_instructions) if is_navigational_format?
25
- respond_with resource, :location => spree.login_path
25
+ respond_with resource, location: spree.login_path
26
26
  else
27
27
  respond_with_navigational(resource) { render :new }
28
28
  end
@@ -10,7 +10,7 @@ class Spree::UserRegistrationsController < Devise::RegistrationsController
10
10
  include Spree::Core::ControllerHelpers::Order
11
11
  include Spree::Core::ControllerHelpers::Store
12
12
 
13
- before_filter :check_permissions, :only => [:edit, :update]
13
+ before_filter :check_permissions, only: [:edit, :update]
14
14
  skip_before_filter :require_no_authentication
15
15
 
16
16
  def create
@@ -9,6 +9,10 @@ class Spree::UserSessionsController < Devise::SessionsController
9
9
  include Spree::Core::ControllerHelpers::Order
10
10
  include Spree::Core::ControllerHelpers::Store
11
11
 
12
+ # This is included in ControllerHelpers::Order. We just want to call
13
+ # it after someone has successfully logged in.
14
+ after_action :set_current_order, only: :create
15
+
12
16
  def create
13
17
  authenticate_spree_user!
14
18
 
@@ -1,7 +1,7 @@
1
1
  class Spree::UsersController < Spree::StoreController
2
- skip_before_filter :set_current_order, :only => :show
3
- prepend_before_filter :load_object, :only => [:show, :edit, :update]
4
- prepend_before_filter :authorize_actions, :only => :new
2
+ skip_before_filter :set_current_order, only: :show
3
+ prepend_before_filter :load_object, only: [:show, :edit, :update]
4
+ prepend_before_filter :authorize_actions, only: :new
5
5
 
6
6
  include Spree::Core::ControllerHelpers
7
7
 
@@ -28,9 +28,9 @@ class Spree::UsersController < Spree::StoreController
28
28
  if params[:user][:password].present?
29
29
  # this logic needed b/c devise wants to log us out after password changes
30
30
  user = Spree::User.reset_password_by_token(params[:user])
31
- sign_in(@user, :event => :authentication, :bypass => !Spree::Auth::Config[:signout_after_password_change])
31
+ sign_in(@user, event: :authentication, bypass: !Spree::Auth::Config[:signout_after_password_change])
32
32
  end
33
- redirect_to spree.account_url, :notice => Spree.t(:account_updated)
33
+ redirect_to spree.account_url, notice: Spree.t(:account_updated)
34
34
  else
35
35
  render :edit
36
36
  end
@@ -7,11 +7,11 @@ module Spree
7
7
  isolate_namespace Spree
8
8
  engine_name 'solidus_auth'
9
9
 
10
- initializer "spree.auth.environment", :before => :load_config_initializers do |app|
10
+ initializer "spree.auth.environment", before: :load_config_initializers do |app|
11
11
  Spree::Auth::Config = Spree::AuthConfiguration.new
12
12
  end
13
13
 
14
- initializer "solidus_auth_devise.set_user_class", :after => :load_config_initializers do
14
+ initializer "solidus_auth_devise.set_user_class", after: :load_config_initializers do
15
15
  Spree.user_class = "Spree::User"
16
16
  end
17
17
 
@@ -24,75 +24,78 @@ module Spree
24
24
  end
25
25
  end
26
26
 
27
- def self.activate
28
- if Spree::Auth::Engine.backend_available?
29
- Rails.application.config.assets.precompile += [
30
- 'lib/assets/javascripts/spree/backend/solidus_auth.js',
31
- 'lib/assets/javascripts/spree/backend/solidus_auth.css'
32
- ]
33
- Dir.glob(File.join(File.dirname(__FILE__), "../../controllers/backend/*/*/*_decorator*.rb")) do |c|
34
- Rails.configuration.cache_classes ? require(c) : load(c)
35
- end
27
+ config.to_prepare do
28
+ auth = Spree::Auth::Engine
29
+
30
+ auth.prepare_backend if auth.backend_available?
31
+ auth.prepare_frontend if auth.frontend_available?
32
+
33
+ ApplicationController.send :include, Spree::AuthenticationHelpers
34
+ end
35
+
36
+ def self.prepare_backend
37
+ Rails.application.config.assets.precompile += %w[
38
+ lib/assets/javascripts/spree/backend/solidus_auth.js
39
+ lib/assets/javascripts/spree/backend/solidus_auth.css
40
+ ]
41
+
42
+ Dir.glob(File.join(File.dirname(__FILE__), "../../controllers/backend/*/*/*_decorator*.rb")) do |c|
43
+ Rails.configuration.cache_classes ? require(c) : load(c)
36
44
  end
37
- if Spree::Auth::Engine.frontend_available?
38
- Rails.application.config.assets.precompile += [
39
- 'lib/assets/javascripts/spree/frontend/solidus_auth.js',
40
- 'lib/assets/javascripts/spree/frontend/solidus_auth.css'
41
- ]
42
- Dir.glob(File.join(File.dirname(__FILE__), "../../controllers/frontend/*/*_decorator*.rb")) do |c|
43
- Rails.configuration.cache_classes ? require(c) : load(c)
45
+
46
+ Spree::Admin::BaseController.unauthorized_redirect = -> do
47
+ if try_spree_current_user
48
+ flash[:error] = Spree.t(:authorization_failure)
49
+ redirect_to spree.admin_unauthorized_path
50
+ else
51
+ store_location
52
+ redirect_to spree.admin_login_path
44
53
  end
45
54
  end
46
- ApplicationController.send :include, Spree::AuthenticationHelpers
55
+ end
47
56
 
48
- if self.frontend_available?
49
- Spree::BaseController.unauthorized_redirect = -> do
50
- if try_spree_current_user
51
- flash[:error] = Spree.t(:authorization_failure)
52
- redirect_to spree.unauthorized_path
53
- else
54
- store_location
55
- redirect_to spree.login_path
56
- end
57
- end
57
+ def self.prepare_frontend
58
+ Rails.application.config.assets.precompile += %w[
59
+ lib/assets/javascripts/spree/frontend/solidus_auth.js
60
+ lib/assets/javascripts/spree/frontend/solidus_auth.css
61
+ ]
62
+
63
+ Dir.glob(File.join(File.dirname(__FILE__), "../../controllers/frontend/*/*_decorator*.rb")) do |c|
64
+ Rails.configuration.cache_classes ? require(c) : load(c)
58
65
  end
59
66
 
60
- if self.backend_available?
61
- Spree::Admin::BaseController.unauthorized_redirect = -> do
62
- if try_spree_current_user
63
- flash[:error] = Spree.t(:authorization_failure)
64
- redirect_to spree.admin_unauthorized_path
65
- else
66
- store_location
67
- redirect_to spree.admin_login_path
68
- end
67
+ Spree::BaseController.unauthorized_redirect = -> do
68
+ if try_spree_current_user
69
+ flash[:error] = Spree.t(:authorization_failure)
70
+ redirect_to spree.unauthorized_path
71
+ else
72
+ store_location
73
+ redirect_to spree.login_path
69
74
  end
70
75
  end
71
76
  end
72
77
 
73
78
  def self.backend_available?
74
- @@backend_available ||= ::Rails::Engine.subclasses.map(&:instance).map{ |e| e.class.to_s }.include?('Spree::Backend::Engine')
79
+ defined?(Spree::Backend::Engine) == "constant"
75
80
  end
76
81
 
77
82
  def self.dash_available?
78
- @@dash_available ||= ::Rails::Engine.subclasses.map(&:instance).map{ |e| e.class.to_s }.include?('Spree::Dash::Engine')
83
+ defined?(Spree::Dash::Engine) == "constant"
79
84
  end
80
85
 
81
86
  def self.frontend_available?
82
- @@frontend_available ||= ::Rails::Engine.subclasses.map(&:instance).map{ |e| e.class.to_s }.include?('Spree::Frontend::Engine')
87
+ defined?(Spree::Frontend::Engine) == "constant"
83
88
  end
84
89
 
85
- if self.backend_available?
90
+ if backend_available?
86
91
  paths["app/controllers"] << "lib/controllers/backend"
87
92
  paths["app/views"] << "lib/views/backend"
88
93
  end
89
94
 
90
- if self.frontend_available?
95
+ if frontend_available?
91
96
  paths["app/controllers"] << "lib/controllers/frontend"
92
97
  paths["app/views"] << "lib/views/frontend"
93
98
  end
94
-
95
- config.to_prepare &method(:activate).to_proc
96
99
  end
97
100
  end
98
101
  end
@@ -2,25 +2,30 @@ module Spree
2
2
  module AuthenticationHelpers
3
3
  def self.included(receiver)
4
4
  receiver.send :helper_method, :spree_current_user
5
- receiver.send :helper_method, :spree_login_path
6
- receiver.send :helper_method, :spree_signup_path
7
- receiver.send :helper_method, :spree_logout_path
5
+
6
+ if Spree::Auth::Engine.frontend_available?
7
+ receiver.send :helper_method, :spree_login_path
8
+ receiver.send :helper_method, :spree_signup_path
9
+ receiver.send :helper_method, :spree_logout_path
10
+ end
8
11
  end
9
12
 
10
13
  def spree_current_user
11
14
  current_spree_user
12
15
  end
13
16
 
14
- def spree_login_path
15
- spree.login_path
16
- end
17
+ if Spree::Auth::Engine.frontend_available?
18
+ def spree_login_path
19
+ spree.login_path
20
+ end
17
21
 
18
- def spree_signup_path
19
- spree.signup_path
20
- end
22
+ def spree_signup_path
23
+ spree.signup_path
24
+ end
21
25
 
22
- def spree_logout_path
23
- spree.logout_path
26
+ def spree_logout_path
27
+ spree.logout_path
28
+ end
24
29
  end
25
30
  end
26
31
  end
@@ -1,7 +1,7 @@
1
1
  <% if spree_current_user %>
2
2
  <ul id="login-nav" class="admin-login-nav">
3
3
  <li data-hook="user-account-link">
4
- <%= link_to spree.edit_user_path(spree_current_user) do %>
4
+ <%= link_to spree.edit_admin_user_path(spree_current_user) do %>
5
5
  <i class='fa fa-user'></i>
6
6
  <%= spree_current_user.email %>
7
7
  <% end %>
@@ -15,7 +15,7 @@
15
15
 
16
16
  <% if spree.respond_to? :root_path %>
17
17
  <li data-hook="store-frontend-link">
18
- <%= link_to spree.root_path, :target => '_blank' do %>
18
+ <%= link_to spree.root_path, target: '_blank' do %>
19
19
  <i class='fa fa-external-link'></i>
20
20
  <%= Spree.t(:back_to_store) %>
21
21
  <% end %>
@@ -1,7 +1,7 @@
1
- <%= render :partial => 'spree/shared/error_messages', :locals => { :target => @spree_user } %>
1
+ <%= render partial: 'spree/shared/error_messages', locals: { target: @spree_user } %>
2
2
  <h2><%= Spree.t(:change_my_password) %></h2>
3
3
 
4
- <%= form_for @spree_user, :as => :spree_user, :url => spree.update_password_path, :method => :put do |f| %>
4
+ <%= form_for @spree_user, as: :spree_user, url: spree.update_password_path, method: :put do |f| %>
5
5
  <p>
6
6
  <%= f.label :password, Spree.t(:password) %><br />
7
7
  <%= f.password_field :password %><br />
@@ -11,5 +11,5 @@
11
11
  <%= f.password_field :password_confirmation %><br />
12
12
  </p>
13
13
  <%= f.hidden_field :reset_password_token %>
14
- <%= f.submit Spree.t(:update), :class => 'button primary' %>
14
+ <%= f.submit Spree.t(:update), class: 'button primary' %>
15
15
  <% end %>
@@ -1,17 +1,17 @@
1
- <%= render :partial => 'spree/shared/error_messages', :locals => { :target => @spree_user } %>
1
+ <%= render partial: 'spree/shared/error_messages', locals: { target: @spree_user } %>
2
2
 
3
3
  <div id="forgot-password">
4
4
  <h6><%= Spree.t(:forgot_password) %></h6>
5
5
 
6
6
  <p><%= Spree.t(:instructions_to_reset_password) %></p>
7
7
 
8
- <%= form_for Spree::User.new, :as => :spree_user, :url => spree.reset_password_path do |f| %>
8
+ <%= form_for Spree::User.new, as: :spree_user, url: spree.reset_password_path do |f| %>
9
9
  <p>
10
10
  <%= f.label :email, Spree.t(:email) %><br />
11
11
  <%= f.email_field :email %>
12
12
  </p>
13
13
  <p>
14
- <%= f.submit Spree.t(:reset_password), :class => 'button primary' %>
14
+ <%= f.submit Spree.t(:reset_password), class: 'button primary' %>
15
15
  </p>
16
16
  <% end %>
17
17
  </div>
@@ -6,23 +6,23 @@
6
6
  <div id="existing-customer">
7
7
  <h6><%= Spree.t(:admin_login) %></h6>
8
8
  <div data-hook="login">
9
- <%= form_for Spree::User.new, :as => :spree_user, :url => spree.admin_create_new_session_path do |f| %>
9
+ <%= form_for Spree::User.new, as: :spree_user, url: spree.admin_create_new_session_path do |f| %>
10
10
  <div id="password-credentials">
11
11
  <p>
12
12
  <%= f.label :email, Spree.t(:email) %><br />
13
- <%= f.email_field :email, :class => 'title', :tabindex => 1 %>
13
+ <%= f.email_field :email, class: 'title', tabindex: 1 %>
14
14
  </p>
15
15
  <p>
16
16
  <%= f.label :password, Spree.t(:password) %><br />
17
- <%= f.password_field :password, :class => 'title', :tabindex => 2 %>
17
+ <%= f.password_field :password, class: 'title', tabindex: 2 %>
18
18
  </p>
19
19
  </div>
20
20
  <p>
21
- <%= f.check_box :remember_me, :tabindex => 3 %>
21
+ <%= f.check_box :remember_me, tabindex: 3 %>
22
22
  <%= f.label :remember_me, Spree.t(:remember_me) %>
23
23
  </p>
24
24
 
25
- <p><%= f.submit Spree.t(:login), :class => 'button primary', :tabindex => 4 %></p>
25
+ <p><%= f.submit Spree.t(:login), class: 'button primary', tabindex: 4 %></p>
26
26
  <% end %>
27
27
  <%= Spree.t(:or) %>
28
28
  <%= link_to Spree.t(:forgot_password), spree.recover_password_path %>
@@ -1,12 +1,12 @@
1
1
  <% if spree_current_user %>
2
2
  <ul id="login-nav" class="inline-menu">
3
3
  <li data-hook="user-logged-in-as"><%= Spree.t(:logged_in_as) %>: <%= spree_current_user.email %></li>
4
- <li data-hook="user-account-link" class='fa fa-user'><%= link_to Spree.t(:account), spree.edit_user_path(spree_current_user) %></li>
4
+ <li data-hook="user-account-link" class='fa fa-user'><%= link_to Spree.t(:account), spree.edit_admin_user_path(spree_current_user) %></li>
5
5
  <li data-hook="user-logout-link" class='fa fa-sign-out'><%= link_to Spree.t(:logout), spree.admin_logout_path %></li>
6
6
 
7
7
  <% if spree.respond_to? :root_path %>
8
8
  <li data-hook="store-frontend-link" class='fa fa-external-link'>
9
- <%= link_to Spree.t(:back_to_store), spree.root_path, :target => '_blank' %>
9
+ <%= link_to Spree.t(:back_to_store), spree.root_path, target: '_blank' %>
10
10
  </li>
11
11
  <% end %>
12
12
  </ul>
@@ -1,4 +1,4 @@
1
- <%= render :partial => 'spree/shared/error_messages', :locals => { :target => @user } %>
1
+ <%= render partial: 'spree/shared/error_messages', locals: { target: @user } %>
2
2
  <h1><%= Spree.t(:registration) %></h1>
3
3
  <div id="registration" data-hook>
4
4
  <div id="account" class="columns alpha eight">
@@ -10,12 +10,12 @@
10
10
  <% if flash[:registration_error] %>
11
11
  <div class='flash error'><%= flash[:registration_error] %></div>
12
12
  <% end %>
13
- <%= form_for @order, :url => update_checkout_registration_path, :method => :put, :html => { :id => 'checkout_form_registration' } do |f| %>
13
+ <%= form_for @order, url: update_checkout_registration_path, method: :put, html: { id: 'checkout_form_registration' } do |f| %>
14
14
  <p>
15
15
  <%= f.label :email, Spree.t(:email) %><br />
16
- <%= f.email_field :email, :class => 'title' %>
16
+ <%= f.email_field :email, class: 'title' %>
17
17
  </p>
18
- <p><%= f.submit Spree.t(:continue), :class => 'button primary' %></p>
18
+ <p><%= f.submit Spree.t(:continue), class: 'button primary' %></p>
19
19
  <% end %>
20
20
  </div>
21
21
  <% end %>
@@ -1,18 +1,18 @@
1
- <%= form_for Spree::User.new, :as => :spree_user, :url => spree.create_new_session_path do |f| %>
1
+ <%= form_for Spree::User.new, as: :spree_user, url: spree.create_new_session_path do |f| %>
2
2
  <div id="password-credentials">
3
3
  <p>
4
4
  <%= f.label :email, Spree.t(:email) %><br />
5
- <%= f.email_field :email, :class => 'title', :tabindex => 1, autofocus: true %>
5
+ <%= f.email_field :email, class: 'title', tabindex: 1, autofocus: true %>
6
6
  </p>
7
7
  <p>
8
8
  <%= f.label :password, Spree.t(:password) %><br />
9
- <%= f.password_field :password, :class => 'title', :tabindex => 2 %>
9
+ <%= f.password_field :password, class: 'title', tabindex: 2 %>
10
10
  </p>
11
11
  </div>
12
12
  <p>
13
- <%= f.check_box :remember_me, :tabindex => 3 %>
13
+ <%= f.check_box :remember_me, tabindex: 3 %>
14
14
  <%= f.label :remember_me, Spree.t(:remember_me) %>
15
15
  </p>
16
16
 
17
- <p><%= f.submit Spree.t(:login), :class => 'button primary', :tabindex => 4 %></p>
17
+ <p><%= f.submit Spree.t(:login), class: 'button primary', tabindex: 4 %></p>
18
18
  <% end %>
@@ -1,16 +1,16 @@
1
1
  <p>
2
2
  <%= f.label :email, Spree.t(:email) %><br />
3
- <%= f.email_field :email, :class => 'title' %>
3
+ <%= f.email_field :email, class: 'title' %>
4
4
  </p>
5
5
  <div id="password-credentials">
6
6
  <p>
7
7
  <%= f.label :password, Spree.t(:password) %><br />
8
- <%= f.password_field :password, :class => 'title' %>
8
+ <%= f.password_field :password, class: 'title' %>
9
9
  </p>
10
10
 
11
11
  <p>
12
12
  <%= f.label :password_confirmation, Spree.t(:confirm_password) %><br />
13
- <%= f.password_field :password_confirmation, :class => 'title' %>
13
+ <%= f.password_field :password_confirmation, class: 'title' %>
14
14
  </p>
15
15
  </div>
16
16
 
@@ -1,8 +1,8 @@
1
- <%= render :partial => 'spree/shared/error_messages', :locals => { :target => @spree_user } %>
1
+ <%= render partial: 'spree/shared/error_messages', locals: { target: @spree_user } %>
2
2
  <div id="change-password">
3
3
  <h6><%= Spree.t(:change_my_password) %></h6>
4
-
5
- <%= form_for @spree_user, :as => :spree_user, :url => spree.update_password_path, :method => :put do |f| %>
4
+
5
+ <%= form_for @spree_user, as: :spree_user, url: spree.update_password_path, method: :put do |f| %>
6
6
  <p>
7
7
  <%= f.label :password, Spree.t(:password) %><br />
8
8
  <%= f.password_field :password %><br />
@@ -12,6 +12,6 @@
12
12
  <%= f.password_field :password_confirmation %><br />
13
13
  </p>
14
14
  <%= f.hidden_field :reset_password_token %>
15
- <%= f.submit Spree.t(:update), :class => 'button primary' %>
15
+ <%= f.submit Spree.t(:update), class: 'button primary' %>
16
16
  <% end %>
17
17
  </div>
@@ -1,17 +1,17 @@
1
- <%= render :partial => 'spree/shared/error_messages', :locals => { :target => @spree_user } %>
1
+ <%= render partial: 'spree/shared/error_messages', locals: { target: @spree_user } %>
2
2
 
3
3
  <div id="forgot-password">
4
4
  <h6><%= Spree.t(:forgot_password) %></h6>
5
5
 
6
6
  <p><%= Spree.t(:instructions_to_reset_password) %></p>
7
7
 
8
- <%= form_for Spree::User.new, :as => :spree_user, :url => spree.reset_password_path do |f| %>
8
+ <%= form_for Spree::User.new, as: :spree_user, url: spree.reset_password_path do |f| %>
9
9
  <p>
10
10
  <%= f.label :email, Spree.t(:email) %><br />
11
11
  <%= f.email_field :email %>
12
12
  </p>
13
13
  <p>
14
- <%= f.submit Spree.t(:reset_password), :class => 'button primary' %>
14
+ <%= f.submit Spree.t(:reset_password), class: 'button primary' %>
15
15
  </p>
16
16
  <% end %>
17
17
  </div>
@@ -6,10 +6,10 @@
6
6
  <h6><%= Spree.t(:new_customer) %></h6>
7
7
 
8
8
  <div data-hook="signup">
9
- <%= form_for resource, :as => :spree_user, :url => spree.registration_path(resource) do |f| %>
9
+ <%= form_for resource, as: :spree_user, url: spree.registration_path(resource) do |f| %>
10
10
  <div data-hook="signup_inside_form">
11
- <%= render :partial => 'spree/shared/user_form', :locals => { :f => f } %>
12
- <p><%= f.submit Spree.t(:create), :class => 'button primary' %></p>
11
+ <%= render partial: 'spree/shared/user_form', locals: { f: f } %>
12
+ <p><%= f.submit Spree.t(:create), class: 'button primary' %></p>
13
13
  </div>
14
14
  <% end %>
15
15
  <%= Spree.t(:or) %>&nbsp;<%= link_to Spree.t(:login_as_existing), spree.login_path %>
@@ -6,7 +6,7 @@
6
6
  <div id="existing-customer">
7
7
  <h6><%= Spree.t(:login_as_existing) %></h6>
8
8
  <div data-hook="login">
9
- <%= render :partial => 'spree/shared/login' %>
9
+ <%= render partial: 'spree/shared/login' %>
10
10
  <%= Spree.t(:or) %>&nbsp;<%= link_to Spree.t(:create_a_new_account), spree.signup_path %> | <%= link_to Spree.t(:forgot_password), spree.recover_password_path %>
11
11
  </div>
12
12
  </div>
@@ -1,13 +1,13 @@
1
- <%= render :partial => 'spree/shared/error_messages', :locals => { :target => @user } %>
1
+ <%= render partial: 'spree/shared/error_messages', locals: { target: @user } %>
2
2
 
3
3
  <div id="edit-account">
4
4
  <h1><%= Spree.t(:editing_user) %></h1>
5
-
5
+
6
6
  <div data-hook="account_edit">
7
- <%= form_for Spree::User.new, :as => @user, :url => spree.user_path(@user), :method => :put do |f| %>
8
- <%= render :partial => 'spree/shared/user_form', :locals => { :f => f } %>
7
+ <%= form_for Spree::User.new, as: @user, url: spree.user_path(@user), method: :put do |f| %>
8
+ <%= render partial: 'spree/shared/user_form', locals: { f: f } %>
9
9
  <p>
10
- <%= f.submit Spree.t(:update), :class => 'button primary' %>
10
+ <%= f.submit Spree.t(:update), class: 'button primary' %>
11
11
  </p>
12
12
  <% end %>
13
13
  </div>
@@ -14,7 +14,7 @@
14
14
  <table class="order-summary">
15
15
  <thead>
16
16
  <tr>
17
- <th class="order-number"><%= I18n.t(:number, :scope => 'activerecord.attributes.spree/order') %></th>
17
+ <th class="order-number"><%= I18n.t(:number, scope: 'activerecord.attributes.spree/order') %></th>
18
18
  <th class="order-date"><%= Spree.t(:date) %></th>
19
19
  <th class="order-status"><%= Spree.t(:status) %></th>
20
20
  <th class="order-payment-state"><%= Spree.t(:payment_state) %></th>
@@ -3,7 +3,7 @@
3
3
  Gem::Specification.new do |s|
4
4
  s.platform = Gem::Platform::RUBY
5
5
  s.name = "solidus_auth_devise"
6
- s.version = "1.4.0"
6
+ s.version = "1.5.0"
7
7
  s.summary = "Provides authentication and authorization services for use with Solidus by using Devise and CanCan."
8
8
  s.description = s.summary
9
9
 
@@ -21,8 +21,8 @@ Gem::Specification.new do |s|
21
21
  solidus_version = [">= 1.0.6", "< 2"]
22
22
 
23
23
  s.add_dependency "solidus_core", solidus_version
24
- s.add_dependency "devise", '~> 3.5.1'
25
- s.add_dependency "devise-encryptable", "0.1.2"
24
+ s.add_dependency "devise", '~> 4.1'
25
+ s.add_dependency "devise-encryptable", "0.2.0"
26
26
  s.add_dependency 'deface', '~> 1.0.0'
27
27
 
28
28
  s.add_dependency "json"
@@ -31,14 +31,14 @@ Gem::Specification.new do |s|
31
31
  s.add_development_dependency "solidus_backend", solidus_version
32
32
  s.add_development_dependency "solidus_frontend", solidus_version
33
33
  s.add_development_dependency "rspec-rails", "~> 3.3"
34
- s.add_development_dependency "simplecov", "~> 0.9.0"
34
+ s.add_development_dependency "simplecov", "~> 0.11.2"
35
35
  s.add_development_dependency "sqlite3"
36
36
  s.add_development_dependency "sass-rails"
37
37
  s.add_development_dependency "coffee-rails"
38
- s.add_development_dependency "shoulda-matchers", "~> 2.6.2"
38
+ s.add_development_dependency "shoulda-matchers", "~> 3.1.1"
39
39
  s.add_development_dependency "factory_girl", "~> 4.4"
40
- s.add_development_dependency "capybara", "~> 2.4.1"
40
+ s.add_development_dependency "capybara", "~> 2.7.1"
41
41
  s.add_development_dependency "poltergeist", "~> 1.5"
42
- s.add_development_dependency "database_cleaner", "~> 1.2.0"
42
+ s.add_development_dependency "database_cleaner", "~> 1.5.3"
43
43
  s.add_development_dependency "capybara-screenshot"
44
44
  end
@@ -9,6 +9,6 @@ end
9
9
 
10
10
  RSpec.configure do |config|
11
11
  config.include AuthenticationHelpers, type: :feature
12
- config.include Devise::TestHelpers, type: :controller
13
- config.include Rack::Test::Methods, type: :feature
12
+ config.include Devise::Test::ControllerHelpers, type: :controller
13
+ config.include Rack::Test::Methods, type: :feature
14
14
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: solidus_auth_devise
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 1.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Solidus Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-05-16 00:00:00.000000000 Z
11
+ date: 2016-07-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: solidus_core
@@ -36,28 +36,28 @@ dependencies:
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: 3.5.1
39
+ version: '4.1'
40
40
  type: :runtime
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: 3.5.1
46
+ version: '4.1'
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: devise-encryptable
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  requirements:
51
51
  - - '='
52
52
  - !ruby/object:Gem::Version
53
- version: 0.1.2
53
+ version: 0.2.0
54
54
  type: :runtime
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - '='
59
59
  - !ruby/object:Gem::Version
60
- version: 0.1.2
60
+ version: 0.2.0
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: deface
63
63
  requirement: !ruby/object:Gem::Requirement
@@ -160,14 +160,14 @@ dependencies:
160
160
  requirements:
161
161
  - - "~>"
162
162
  - !ruby/object:Gem::Version
163
- version: 0.9.0
163
+ version: 0.11.2
164
164
  type: :development
165
165
  prerelease: false
166
166
  version_requirements: !ruby/object:Gem::Requirement
167
167
  requirements:
168
168
  - - "~>"
169
169
  - !ruby/object:Gem::Version
170
- version: 0.9.0
170
+ version: 0.11.2
171
171
  - !ruby/object:Gem::Dependency
172
172
  name: sqlite3
173
173
  requirement: !ruby/object:Gem::Requirement
@@ -216,14 +216,14 @@ dependencies:
216
216
  requirements:
217
217
  - - "~>"
218
218
  - !ruby/object:Gem::Version
219
- version: 2.6.2
219
+ version: 3.1.1
220
220
  type: :development
221
221
  prerelease: false
222
222
  version_requirements: !ruby/object:Gem::Requirement
223
223
  requirements:
224
224
  - - "~>"
225
225
  - !ruby/object:Gem::Version
226
- version: 2.6.2
226
+ version: 3.1.1
227
227
  - !ruby/object:Gem::Dependency
228
228
  name: factory_girl
229
229
  requirement: !ruby/object:Gem::Requirement
@@ -244,14 +244,14 @@ dependencies:
244
244
  requirements:
245
245
  - - "~>"
246
246
  - !ruby/object:Gem::Version
247
- version: 2.4.1
247
+ version: 2.7.1
248
248
  type: :development
249
249
  prerelease: false
250
250
  version_requirements: !ruby/object:Gem::Requirement
251
251
  requirements:
252
252
  - - "~>"
253
253
  - !ruby/object:Gem::Version
254
- version: 2.4.1
254
+ version: 2.7.1
255
255
  - !ruby/object:Gem::Dependency
256
256
  name: poltergeist
257
257
  requirement: !ruby/object:Gem::Requirement
@@ -272,14 +272,14 @@ dependencies:
272
272
  requirements:
273
273
  - - "~>"
274
274
  - !ruby/object:Gem::Version
275
- version: 1.2.0
275
+ version: 1.5.3
276
276
  type: :development
277
277
  prerelease: false
278
278
  version_requirements: !ruby/object:Gem::Requirement
279
279
  requirements:
280
280
  - - "~>"
281
281
  - !ruby/object:Gem::Version
282
- version: 1.2.0
282
+ version: 1.5.3
283
283
  - !ruby/object:Gem::Dependency
284
284
  name: capybara-screenshot
285
285
  requirement: !ruby/object:Gem::Requirement
@@ -304,6 +304,7 @@ files:
304
304
  - ".gitignore"
305
305
  - ".rspec"
306
306
  - ".travis.yml"
307
+ - CHANGELOG.md
307
308
  - Gemfile
308
309
  - LICENSE.md
309
310
  - README.md
@@ -325,6 +326,7 @@ files:
325
326
  - config/locales/nl.yml
326
327
  - config/locales/pt-BR.yml
327
328
  - config/locales/tr.yml
329
+ - config/locales/zh-CN.yml
328
330
  - config/routes.rb
329
331
  - db/default/users.rb
330
332
  - db/migrate/20101026184949_create_users.rb
@@ -434,7 +436,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
434
436
  requirements:
435
437
  - none
436
438
  rubyforge_project:
437
- rubygems_version: 2.4.5.1
439
+ rubygems_version: 2.5.1
438
440
  signing_key:
439
441
  specification_version: 4
440
442
  summary: Provides authentication and authorization services for use with Solidus by