mirror of
https://github.com/heartcombo/devise.git
synced 2026-01-09 14:58:05 -05:00
Merge branch '4-stable'
This commit is contained in:
23
.github/workflows/test.yml
vendored
23
.github/workflows/test.yml
vendored
@@ -8,6 +8,7 @@ jobs:
|
|||||||
gemfile:
|
gemfile:
|
||||||
- Gemfile
|
- Gemfile
|
||||||
- gemfiles/Gemfile-rails-main
|
- gemfiles/Gemfile-rails-main
|
||||||
|
- gemfiles/Gemfile-rails-7-0
|
||||||
- gemfiles/Gemfile-rails-6-1
|
- gemfiles/Gemfile-rails-6-1
|
||||||
- gemfiles/Gemfile-rails-6-0
|
- gemfiles/Gemfile-rails-6-0
|
||||||
- gemfiles/Gemfile-rails-5-2
|
- gemfiles/Gemfile-rails-5-2
|
||||||
@@ -58,6 +59,20 @@ jobs:
|
|||||||
ruby: '2.1'
|
ruby: '2.1'
|
||||||
- gemfile: gemfiles/Gemfile-rails-main
|
- gemfile: gemfiles/Gemfile-rails-main
|
||||||
env: DEVISE_ORM=mongoid
|
env: DEVISE_ORM=mongoid
|
||||||
|
- gemfile: gemfiles/Gemfile-rails-7-0
|
||||||
|
ruby: '2.6'
|
||||||
|
- gemfile: gemfiles/Gemfile-rails-7-0
|
||||||
|
ruby: '2.5'
|
||||||
|
- gemfile: gemfiles/Gemfile-rails-7-0
|
||||||
|
ruby: '2.4'
|
||||||
|
- gemfile: gemfiles/Gemfile-rails-7-0
|
||||||
|
ruby: '2.3'
|
||||||
|
- gemfile: gemfiles/Gemfile-rails-7-0
|
||||||
|
ruby: '2.2'
|
||||||
|
- gemfile: gemfiles/Gemfile-rails-7-0
|
||||||
|
ruby: '2.1'
|
||||||
|
- gemfile: gemfiles/Gemfile-rails-7-0
|
||||||
|
env: DEVISE_ORM=mongoid
|
||||||
- gemfile: gemfiles/Gemfile-rails-6-1
|
- gemfile: gemfiles/Gemfile-rails-6-1
|
||||||
ruby: '2.4'
|
ruby: '2.4'
|
||||||
- gemfile: gemfiles/Gemfile-rails-6-1
|
- gemfile: gemfiles/Gemfile-rails-6-1
|
||||||
@@ -144,13 +159,15 @@ jobs:
|
|||||||
ruby: '2.5'
|
ruby: '2.5'
|
||||||
- gemfile: gemfiles/Gemfile-rails-4-1
|
- gemfile: gemfiles/Gemfile-rails-4-1
|
||||||
ruby: '2.4'
|
ruby: '2.4'
|
||||||
runs-on: ubuntu-latest
|
# TODO: lock `ubunty-20.04` due to older Ruby version compatibility, change to `ubuntu-latest` again when dropping older Ruby support.
|
||||||
|
# https://github.com/ruby/setup-ruby/issues/496#issuecomment-1520662740
|
||||||
|
runs-on: ubuntu-20.04
|
||||||
env: # $BUNDLE_GEMFILE must be set at the job level, so it is set for all steps
|
env: # $BUNDLE_GEMFILE must be set at the job level, so it is set for all steps
|
||||||
BUNDLE_GEMFILE: ${{ matrix.gemfile }}
|
BUNDLE_GEMFILE: ${{ matrix.gemfile }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- name: Setup Bundler 1.x for Rails 4.x
|
- name: Setup Bundler 1.x for Rails 4.x and Ruby <= 2.2
|
||||||
if: ${{ matrix.gemfile == 'gemfiles/Gemfile-rails-4-1' || matrix.gemfile == 'gemfiles/Gemfile-rails-4-2' }}
|
if: ${{ matrix.gemfile == 'gemfiles/Gemfile-rails-4-1' || matrix.gemfile == 'gemfiles/Gemfile-rails-4-2' || matrix.ruby <= '2.2' }}
|
||||||
run: echo "BUNDLER_VERSION=1.17.3" >> $GITHUB_ENV
|
run: echo "BUNDLER_VERSION=1.17.3" >> $GITHUB_ENV
|
||||||
- name: Setup Rubygems version as default for Ruby < 2.5
|
- name: Setup Rubygems version as default for Ruby < 2.5
|
||||||
if: ${{ matrix.ruby < '2.5' }}
|
if: ${{ matrix.ruby < '2.5' }}
|
||||||
|
|||||||
@@ -2,7 +2,12 @@
|
|||||||
|
|
||||||
* enhancements
|
* enhancements
|
||||||
* Removed deprecations warning output for `Devise::Models::Authenticatable::BLACKLIST_FOR_SERIALIZATION` (@soartec-lab)
|
* Removed deprecations warning output for `Devise::Models::Authenticatable::BLACKLIST_FOR_SERIALIZATION` (@soartec-lab)
|
||||||
* Changed to use a separate deprecator inside the gem. because `rails` 7.1 will deprecate using the singleton `ActiveSupport::Deprecation.instance` (@soartec-lab, @etiennebarrie)
|
|
||||||
|
### 4.9.3 - 2023-10-11
|
||||||
|
|
||||||
|
* enhancements
|
||||||
|
* Add support for Rails 7.1.
|
||||||
|
* Add `Devise.deprecator` to integrate with new application deprecators in Rails 7.1. (@soartec-lab, @etiennebarrie)
|
||||||
|
|
||||||
### 4.9.2 - 2023-04-03
|
### 4.9.2 - 2023-04-03
|
||||||
|
|
||||||
|
|||||||
4
Gemfile
4
Gemfile
@@ -4,7 +4,7 @@ source "https://rubygems.org"
|
|||||||
|
|
||||||
gemspec
|
gemspec
|
||||||
|
|
||||||
gem "rails", "~> 7.0.0"
|
gem "rails", "~> 7.1.0"
|
||||||
gem "omniauth"
|
gem "omniauth"
|
||||||
gem "omniauth-oauth2"
|
gem "omniauth-oauth2"
|
||||||
gem "rdoc"
|
gem "rdoc"
|
||||||
@@ -19,7 +19,7 @@ group :test do
|
|||||||
gem "rexml"
|
gem "rexml"
|
||||||
gem "timecop"
|
gem "timecop"
|
||||||
gem "webrat", "0.7.3", require: false
|
gem "webrat", "0.7.3", require: false
|
||||||
gem "mocha", "~> 1.1", require: false
|
gem "mocha", "~> 2.1", require: false
|
||||||
end
|
end
|
||||||
|
|
||||||
platforms :ruby do
|
platforms :ruby do
|
||||||
|
|||||||
236
Gemfile.lock
236
Gemfile.lock
@@ -1,6 +1,6 @@
|
|||||||
GIT
|
GIT
|
||||||
remote: https://github.com/rails/rails-controller-testing.git
|
remote: https://github.com/rails/rails-controller-testing.git
|
||||||
revision: 351c0162df0771c0c48e6a5a886c4c2f0a5d1a74
|
revision: c203673f8011a7cdc2a8edf995ae6b3eec3417ca
|
||||||
specs:
|
specs:
|
||||||
rails-controller-testing (1.0.5)
|
rails-controller-testing (1.0.5)
|
||||||
actionpack (>= 5.0.1.rc1)
|
actionpack (>= 5.0.1.rc1)
|
||||||
@@ -10,7 +10,7 @@ GIT
|
|||||||
PATH
|
PATH
|
||||||
remote: .
|
remote: .
|
||||||
specs:
|
specs:
|
||||||
devise (4.9.2)
|
devise (4.9.3)
|
||||||
bcrypt (~> 3.0)
|
bcrypt (~> 3.0)
|
||||||
orm_adapter (~> 0.1)
|
orm_adapter (~> 0.1)
|
||||||
railties (>= 4.1.0)
|
railties (>= 4.1.0)
|
||||||
@@ -20,114 +20,133 @@ PATH
|
|||||||
GEM
|
GEM
|
||||||
remote: https://rubygems.org/
|
remote: https://rubygems.org/
|
||||||
specs:
|
specs:
|
||||||
actioncable (7.0.4.3)
|
actioncable (7.1.0)
|
||||||
actionpack (= 7.0.4.3)
|
actionpack (= 7.1.0)
|
||||||
activesupport (= 7.0.4.3)
|
activesupport (= 7.1.0)
|
||||||
nio4r (~> 2.0)
|
nio4r (~> 2.0)
|
||||||
websocket-driver (>= 0.6.1)
|
websocket-driver (>= 0.6.1)
|
||||||
actionmailbox (7.0.4.3)
|
zeitwerk (~> 2.6)
|
||||||
actionpack (= 7.0.4.3)
|
actionmailbox (7.1.0)
|
||||||
activejob (= 7.0.4.3)
|
actionpack (= 7.1.0)
|
||||||
activerecord (= 7.0.4.3)
|
activejob (= 7.1.0)
|
||||||
activestorage (= 7.0.4.3)
|
activerecord (= 7.1.0)
|
||||||
activesupport (= 7.0.4.3)
|
activestorage (= 7.1.0)
|
||||||
|
activesupport (= 7.1.0)
|
||||||
mail (>= 2.7.1)
|
mail (>= 2.7.1)
|
||||||
net-imap
|
net-imap
|
||||||
net-pop
|
net-pop
|
||||||
net-smtp
|
net-smtp
|
||||||
actionmailer (7.0.4.3)
|
actionmailer (7.1.0)
|
||||||
actionpack (= 7.0.4.3)
|
actionpack (= 7.1.0)
|
||||||
actionview (= 7.0.4.3)
|
actionview (= 7.1.0)
|
||||||
activejob (= 7.0.4.3)
|
activejob (= 7.1.0)
|
||||||
activesupport (= 7.0.4.3)
|
activesupport (= 7.1.0)
|
||||||
mail (~> 2.5, >= 2.5.4)
|
mail (~> 2.5, >= 2.5.4)
|
||||||
net-imap
|
net-imap
|
||||||
net-pop
|
net-pop
|
||||||
net-smtp
|
net-smtp
|
||||||
rails-dom-testing (~> 2.0)
|
rails-dom-testing (~> 2.2)
|
||||||
actionpack (7.0.4.3)
|
actionpack (7.1.0)
|
||||||
actionview (= 7.0.4.3)
|
actionview (= 7.1.0)
|
||||||
activesupport (= 7.0.4.3)
|
activesupport (= 7.1.0)
|
||||||
rack (~> 2.0, >= 2.2.0)
|
nokogiri (>= 1.8.5)
|
||||||
|
rack (>= 2.2.4)
|
||||||
|
rack-session (>= 1.0.1)
|
||||||
rack-test (>= 0.6.3)
|
rack-test (>= 0.6.3)
|
||||||
rails-dom-testing (~> 2.0)
|
rails-dom-testing (~> 2.2)
|
||||||
rails-html-sanitizer (~> 1.0, >= 1.2.0)
|
rails-html-sanitizer (~> 1.6)
|
||||||
actiontext (7.0.4.3)
|
actiontext (7.1.0)
|
||||||
actionpack (= 7.0.4.3)
|
actionpack (= 7.1.0)
|
||||||
activerecord (= 7.0.4.3)
|
activerecord (= 7.1.0)
|
||||||
activestorage (= 7.0.4.3)
|
activestorage (= 7.1.0)
|
||||||
activesupport (= 7.0.4.3)
|
activesupport (= 7.1.0)
|
||||||
globalid (>= 0.6.0)
|
globalid (>= 0.6.0)
|
||||||
nokogiri (>= 1.8.5)
|
nokogiri (>= 1.8.5)
|
||||||
actionview (7.0.4.3)
|
actionview (7.1.0)
|
||||||
activesupport (= 7.0.4.3)
|
activesupport (= 7.1.0)
|
||||||
builder (~> 3.1)
|
builder (~> 3.1)
|
||||||
erubi (~> 1.4)
|
erubi (~> 1.11)
|
||||||
rails-dom-testing (~> 2.0)
|
rails-dom-testing (~> 2.2)
|
||||||
rails-html-sanitizer (~> 1.1, >= 1.2.0)
|
rails-html-sanitizer (~> 1.6)
|
||||||
activejob (7.0.4.3)
|
activejob (7.1.0)
|
||||||
activesupport (= 7.0.4.3)
|
activesupport (= 7.1.0)
|
||||||
globalid (>= 0.3.6)
|
globalid (>= 0.3.6)
|
||||||
activemodel (7.0.4.3)
|
activemodel (7.1.0)
|
||||||
activesupport (= 7.0.4.3)
|
activesupport (= 7.1.0)
|
||||||
activerecord (7.0.4.3)
|
activerecord (7.1.0)
|
||||||
activemodel (= 7.0.4.3)
|
activemodel (= 7.1.0)
|
||||||
activesupport (= 7.0.4.3)
|
activesupport (= 7.1.0)
|
||||||
activestorage (7.0.4.3)
|
timeout (>= 0.4.0)
|
||||||
actionpack (= 7.0.4.3)
|
activestorage (7.1.0)
|
||||||
activejob (= 7.0.4.3)
|
actionpack (= 7.1.0)
|
||||||
activerecord (= 7.0.4.3)
|
activejob (= 7.1.0)
|
||||||
activesupport (= 7.0.4.3)
|
activerecord (= 7.1.0)
|
||||||
|
activesupport (= 7.1.0)
|
||||||
marcel (~> 1.0)
|
marcel (~> 1.0)
|
||||||
mini_mime (>= 1.1.0)
|
activesupport (7.1.0)
|
||||||
activesupport (7.0.4.3)
|
base64
|
||||||
|
bigdecimal
|
||||||
concurrent-ruby (~> 1.0, >= 1.0.2)
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
||||||
|
connection_pool (>= 2.2.5)
|
||||||
|
drb
|
||||||
i18n (>= 1.6, < 2)
|
i18n (>= 1.6, < 2)
|
||||||
minitest (>= 5.1)
|
minitest (>= 5.1)
|
||||||
|
mutex_m
|
||||||
tzinfo (~> 2.0)
|
tzinfo (~> 2.0)
|
||||||
bcrypt (3.1.18)
|
base64 (0.1.1)
|
||||||
|
bcrypt (3.1.19)
|
||||||
|
bigdecimal (3.1.4)
|
||||||
builder (3.2.4)
|
builder (3.2.4)
|
||||||
concurrent-ruby (1.2.2)
|
concurrent-ruby (1.2.2)
|
||||||
|
connection_pool (2.4.1)
|
||||||
crass (1.0.6)
|
crass (1.0.6)
|
||||||
date (3.3.3)
|
date (3.3.3)
|
||||||
|
drb (2.1.1)
|
||||||
|
ruby2_keywords
|
||||||
erubi (1.12.0)
|
erubi (1.12.0)
|
||||||
faraday (2.7.4)
|
faraday (2.7.11)
|
||||||
|
base64
|
||||||
faraday-net_http (>= 2.0, < 3.1)
|
faraday-net_http (>= 2.0, < 3.1)
|
||||||
ruby2_keywords (>= 0.0.4)
|
ruby2_keywords (>= 0.0.4)
|
||||||
faraday-net_http (3.0.2)
|
faraday-net_http (3.0.2)
|
||||||
globalid (1.1.0)
|
globalid (1.2.1)
|
||||||
activesupport (>= 5.0)
|
activesupport (>= 6.1)
|
||||||
hashie (5.0.0)
|
hashie (5.0.0)
|
||||||
i18n (1.12.0)
|
i18n (1.14.1)
|
||||||
concurrent-ruby (~> 1.0)
|
concurrent-ruby (~> 1.0)
|
||||||
jwt (2.7.0)
|
io-console (0.6.0)
|
||||||
loofah (2.19.1)
|
irb (1.8.1)
|
||||||
|
rdoc
|
||||||
|
reline (>= 0.3.8)
|
||||||
|
jwt (2.7.1)
|
||||||
|
loofah (2.21.3)
|
||||||
crass (~> 1.0.2)
|
crass (~> 1.0.2)
|
||||||
nokogiri (>= 1.5.9)
|
nokogiri (>= 1.12.0)
|
||||||
mail (2.8.1)
|
mail (2.8.1)
|
||||||
mini_mime (>= 0.1.1)
|
mini_mime (>= 0.1.1)
|
||||||
net-imap
|
net-imap
|
||||||
net-pop
|
net-pop
|
||||||
net-smtp
|
net-smtp
|
||||||
marcel (1.0.2)
|
marcel (1.0.2)
|
||||||
method_source (1.0.0)
|
mini_mime (1.1.5)
|
||||||
mini_mime (1.1.2)
|
mini_portile2 (2.8.4)
|
||||||
mini_portile2 (2.8.1)
|
minitest (5.20.0)
|
||||||
minitest (5.18.0)
|
mocha (2.1.0)
|
||||||
mocha (1.16.1)
|
ruby2_keywords (>= 0.0.5)
|
||||||
multi_xml (0.6.0)
|
multi_xml (0.6.0)
|
||||||
net-imap (0.3.4)
|
mutex_m (0.1.2)
|
||||||
|
net-imap (0.4.1)
|
||||||
date
|
date
|
||||||
net-protocol
|
net-protocol
|
||||||
net-pop (0.1.2)
|
net-pop (0.1.2)
|
||||||
net-protocol
|
net-protocol
|
||||||
net-protocol (0.2.1)
|
net-protocol (0.2.1)
|
||||||
timeout
|
timeout
|
||||||
net-smtp (0.3.3)
|
net-smtp (0.4.0)
|
||||||
net-protocol
|
net-protocol
|
||||||
nio4r (2.5.8)
|
nio4r (2.5.9)
|
||||||
nokogiri (1.14.2)
|
nokogiri (1.15.4)
|
||||||
mini_portile2 (~> 2.8.0)
|
mini_portile2 (~> 2.8.2)
|
||||||
racc (~> 1.4)
|
racc (~> 1.4)
|
||||||
oauth2 (2.0.9)
|
oauth2 (2.0.9)
|
||||||
faraday (>= 0.17.3, < 3.0)
|
faraday (>= 0.17.3, < 3.0)
|
||||||
@@ -151,84 +170,95 @@ GEM
|
|||||||
orm_adapter (0.5.0)
|
orm_adapter (0.5.0)
|
||||||
psych (5.1.0)
|
psych (5.1.0)
|
||||||
stringio
|
stringio
|
||||||
racc (1.6.2)
|
racc (1.7.1)
|
||||||
rack (2.2.6.4)
|
rack (2.2.8)
|
||||||
rack-openid (1.4.2)
|
rack-openid (1.4.2)
|
||||||
rack (>= 1.1.0)
|
rack (>= 1.1.0)
|
||||||
ruby-openid (>= 2.1.8)
|
ruby-openid (>= 2.1.8)
|
||||||
rack-protection (3.0.5)
|
rack-protection (3.1.0)
|
||||||
rack
|
rack (~> 2.2, >= 2.2.4)
|
||||||
|
rack-session (1.0.1)
|
||||||
|
rack (< 3)
|
||||||
rack-test (2.1.0)
|
rack-test (2.1.0)
|
||||||
rack (>= 1.3)
|
rack (>= 1.3)
|
||||||
rails (7.0.4.3)
|
rackup (1.0.0)
|
||||||
actioncable (= 7.0.4.3)
|
rack (< 3)
|
||||||
actionmailbox (= 7.0.4.3)
|
webrick
|
||||||
actionmailer (= 7.0.4.3)
|
rails (7.1.0)
|
||||||
actionpack (= 7.0.4.3)
|
actioncable (= 7.1.0)
|
||||||
actiontext (= 7.0.4.3)
|
actionmailbox (= 7.1.0)
|
||||||
actionview (= 7.0.4.3)
|
actionmailer (= 7.1.0)
|
||||||
activejob (= 7.0.4.3)
|
actionpack (= 7.1.0)
|
||||||
activemodel (= 7.0.4.3)
|
actiontext (= 7.1.0)
|
||||||
activerecord (= 7.0.4.3)
|
actionview (= 7.1.0)
|
||||||
activestorage (= 7.0.4.3)
|
activejob (= 7.1.0)
|
||||||
activesupport (= 7.0.4.3)
|
activemodel (= 7.1.0)
|
||||||
|
activerecord (= 7.1.0)
|
||||||
|
activestorage (= 7.1.0)
|
||||||
|
activesupport (= 7.1.0)
|
||||||
bundler (>= 1.15.0)
|
bundler (>= 1.15.0)
|
||||||
railties (= 7.0.4.3)
|
railties (= 7.1.0)
|
||||||
rails-dom-testing (2.0.3)
|
rails-dom-testing (2.2.0)
|
||||||
activesupport (>= 4.2.0)
|
activesupport (>= 5.0.0)
|
||||||
|
minitest
|
||||||
nokogiri (>= 1.6)
|
nokogiri (>= 1.6)
|
||||||
rails-html-sanitizer (1.5.0)
|
rails-html-sanitizer (1.6.0)
|
||||||
loofah (~> 2.19, >= 2.19.1)
|
loofah (~> 2.21)
|
||||||
railties (7.0.4.3)
|
nokogiri (~> 1.14)
|
||||||
actionpack (= 7.0.4.3)
|
railties (7.1.0)
|
||||||
activesupport (= 7.0.4.3)
|
actionpack (= 7.1.0)
|
||||||
method_source
|
activesupport (= 7.1.0)
|
||||||
|
irb
|
||||||
|
rackup (>= 1.0.0)
|
||||||
rake (>= 12.2)
|
rake (>= 12.2)
|
||||||
thor (~> 1.0)
|
thor (~> 1.0, >= 1.2.2)
|
||||||
zeitwerk (~> 2.5)
|
zeitwerk (~> 2.6)
|
||||||
rake (13.0.6)
|
rake (13.0.6)
|
||||||
rdoc (6.5.0)
|
rdoc (6.5.0)
|
||||||
psych (>= 4.0.0)
|
psych (>= 4.0.0)
|
||||||
|
reline (0.3.9)
|
||||||
|
io-console (~> 0.5)
|
||||||
responders (3.1.0)
|
responders (3.1.0)
|
||||||
actionpack (>= 5.2)
|
actionpack (>= 5.2)
|
||||||
railties (>= 5.2)
|
railties (>= 5.2)
|
||||||
rexml (3.2.5)
|
rexml (3.2.6)
|
||||||
ruby-openid (2.9.2)
|
ruby-openid (2.9.2)
|
||||||
ruby2_keywords (0.0.5)
|
ruby2_keywords (0.0.5)
|
||||||
snaky_hash (2.0.1)
|
snaky_hash (2.0.1)
|
||||||
hashie
|
hashie
|
||||||
version_gem (~> 1.1, >= 1.1.1)
|
version_gem (~> 1.1, >= 1.1.1)
|
||||||
sqlite3 (1.6.1)
|
sqlite3 (1.6.6)
|
||||||
mini_portile2 (~> 2.8.0)
|
mini_portile2 (~> 2.8.0)
|
||||||
stringio (3.0.5)
|
stringio (3.0.8)
|
||||||
thor (1.2.1)
|
thor (1.2.2)
|
||||||
timecop (0.9.6)
|
timecop (0.9.8)
|
||||||
timeout (0.3.2)
|
timeout (0.4.0)
|
||||||
tzinfo (2.0.6)
|
tzinfo (2.0.6)
|
||||||
concurrent-ruby (~> 1.0)
|
concurrent-ruby (~> 1.0)
|
||||||
version_gem (1.1.2)
|
version_gem (1.1.3)
|
||||||
warden (1.2.9)
|
warden (1.2.9)
|
||||||
rack (>= 2.0.9)
|
rack (>= 2.0.9)
|
||||||
webrat (0.7.3)
|
webrat (0.7.3)
|
||||||
nokogiri (>= 1.2.0)
|
nokogiri (>= 1.2.0)
|
||||||
rack (>= 1.0)
|
rack (>= 1.0)
|
||||||
rack-test (>= 0.5.3)
|
rack-test (>= 0.5.3)
|
||||||
websocket-driver (0.7.5)
|
webrick (1.8.1)
|
||||||
|
websocket-driver (0.7.6)
|
||||||
websocket-extensions (>= 0.1.0)
|
websocket-extensions (>= 0.1.0)
|
||||||
websocket-extensions (0.1.5)
|
websocket-extensions (0.1.5)
|
||||||
zeitwerk (2.6.7)
|
zeitwerk (2.6.12)
|
||||||
|
|
||||||
PLATFORMS
|
PLATFORMS
|
||||||
ruby
|
ruby
|
||||||
|
|
||||||
DEPENDENCIES
|
DEPENDENCIES
|
||||||
devise!
|
devise!
|
||||||
mocha (~> 1.1)
|
mocha (~> 2.1)
|
||||||
omniauth
|
omniauth
|
||||||
omniauth-facebook
|
omniauth-facebook
|
||||||
omniauth-oauth2
|
omniauth-oauth2
|
||||||
omniauth-openid
|
omniauth-openid
|
||||||
rails (~> 7.0.0)
|
rails (~> 7.1.0)
|
||||||
rails-controller-testing!
|
rails-controller-testing!
|
||||||
rdoc
|
rdoc
|
||||||
responders (~> 3.1)
|
responders (~> 3.1)
|
||||||
|
|||||||
@@ -33,6 +33,19 @@ class DeviseController < Devise.parent_controller.constantize
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Override internal methods to exclude `_prefixes` from action methods since
|
||||||
|
# we override it above.
|
||||||
|
#
|
||||||
|
# There was an intentional change in Rails 7.1 that will allow it to become
|
||||||
|
# an action method because it's a public method of a non-abstract controller,
|
||||||
|
# but we also can't make this abstract because it can affect potential actions
|
||||||
|
# defined in the parent controller, so instead we ensure `_prefixes` is going
|
||||||
|
# to be considered internal. (and thus, won't become an action method.)
|
||||||
|
# Ref: https://github.com/rails/rails/pull/48699
|
||||||
|
def self.internal_methods #:nodoc:
|
||||||
|
super << :_prefixes
|
||||||
|
end
|
||||||
|
|
||||||
protected
|
protected
|
||||||
|
|
||||||
# Gets the actual resource stored in the instance variable
|
# Gets the actual resource stored in the instance variable
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ group :test do
|
|||||||
gem "omniauth-openid"
|
gem "omniauth-openid"
|
||||||
gem "timecop"
|
gem "timecop"
|
||||||
gem "webrat", "0.7.3", require: false
|
gem "webrat", "0.7.3", require: false
|
||||||
gem "mocha", "~> 1.1", require: false
|
gem "mocha", "~> 2.1", require: false
|
||||||
gem 'test_after_commit', require: false
|
gem 'test_after_commit', require: false
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -44,3 +44,6 @@ if RUBY_VERSION < "2.3.0"
|
|||||||
# `Object.deprecate_constant` which isn't available.
|
# `Object.deprecate_constant` which isn't available.
|
||||||
gem "multipart-post", "2.1.1"
|
gem "multipart-post", "2.1.1"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# There's a build incompatibility issue with nokogiri and loofah
|
||||||
|
gem "loofah", "~> 2.20.0"
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ group :test do
|
|||||||
gem "omniauth-openid"
|
gem "omniauth-openid"
|
||||||
gem "timecop"
|
gem "timecop"
|
||||||
gem "webrat", "0.7.3", require: false
|
gem "webrat", "0.7.3", require: false
|
||||||
gem "mocha", "~> 1.1", require: false
|
gem "mocha", "~> 2.1", require: false
|
||||||
gem 'test_after_commit', require: false
|
gem 'test_after_commit', require: false
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -43,3 +43,6 @@ if RUBY_VERSION < "2.3.0"
|
|||||||
# `Object.deprecate_constant` which isn't available.
|
# `Object.deprecate_constant` which isn't available.
|
||||||
gem "multipart-post", "2.1.1"
|
gem "multipart-post", "2.1.1"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# There's a build incompatibility issue with nokogiri and loofah
|
||||||
|
gem "loofah", "~> 2.20.0"
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ group :test do
|
|||||||
gem "omniauth-openid"
|
gem "omniauth-openid"
|
||||||
gem "timecop"
|
gem "timecop"
|
||||||
gem "webrat", "0.7.3", require: false
|
gem "webrat", "0.7.3", require: false
|
||||||
gem "mocha", "~> 1.1", require: false
|
gem "mocha", "~> 2.1", require: false
|
||||||
end
|
end
|
||||||
|
|
||||||
platforms :ruby do
|
platforms :ruby do
|
||||||
@@ -35,3 +35,6 @@ if RUBY_VERSION < "2.3.0"
|
|||||||
# `Object.deprecate_constant` which isn't available.
|
# `Object.deprecate_constant` which isn't available.
|
||||||
gem "multipart-post", "2.1.1"
|
gem "multipart-post", "2.1.1"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# There's a build incompatibility issue with nokogiri and loofah
|
||||||
|
gem "loofah", "~> 2.20.0"
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ group :test do
|
|||||||
gem "omniauth-openid"
|
gem "omniauth-openid"
|
||||||
gem "timecop"
|
gem "timecop"
|
||||||
gem "webrat", "0.7.3", require: false
|
gem "webrat", "0.7.3", require: false
|
||||||
gem "mocha", "~> 1.1", require: false
|
gem "mocha", "~> 2.1", require: false
|
||||||
end
|
end
|
||||||
|
|
||||||
platforms :ruby do
|
platforms :ruby do
|
||||||
@@ -28,3 +28,6 @@ if RUBY_VERSION < "2.3.0"
|
|||||||
# `Object.deprecate_constant` which isn't available.
|
# `Object.deprecate_constant` which isn't available.
|
||||||
gem "multipart-post", "2.1.1"
|
gem "multipart-post", "2.1.1"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# There's a build incompatibility issue with nokogiri and loofah
|
||||||
|
gem "loofah", "~> 2.20.0"
|
||||||
|
|||||||
@@ -16,9 +16,12 @@ group :test do
|
|||||||
gem "omniauth-openid"
|
gem "omniauth-openid"
|
||||||
gem "timecop"
|
gem "timecop"
|
||||||
gem "webrat", "0.7.3", require: false
|
gem "webrat", "0.7.3", require: false
|
||||||
gem "mocha", "~> 1.1", require: false
|
gem "mocha", "~> 2.1", require: false
|
||||||
end
|
end
|
||||||
|
|
||||||
platforms :ruby do
|
platforms :ruby do
|
||||||
gem "sqlite3", "~> 1.3.6"
|
gem "sqlite3", "~> 1.3.6"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# There's a build incompatibility issue with nokogiri and loofah
|
||||||
|
gem "loofah", "~> 2.20.0"
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ group :test do
|
|||||||
gem "rexml"
|
gem "rexml"
|
||||||
gem "timecop"
|
gem "timecop"
|
||||||
gem "webrat", "0.7.3", require: false
|
gem "webrat", "0.7.3", require: false
|
||||||
gem "mocha", "~> 1.1", require: false
|
gem "mocha", "~> 2.1", require: false
|
||||||
end
|
end
|
||||||
|
|
||||||
platforms :ruby do
|
platforms :ruby do
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ group :test do
|
|||||||
gem "rexml"
|
gem "rexml"
|
||||||
gem "timecop"
|
gem "timecop"
|
||||||
gem "webrat", "0.7.3", require: false
|
gem "webrat", "0.7.3", require: false
|
||||||
gem "mocha", "~> 1.1", require: false
|
gem "mocha", "~> 2.1", require: false
|
||||||
end
|
end
|
||||||
|
|
||||||
platforms :ruby do
|
platforms :ruby do
|
||||||
|
|||||||
38
gemfiles/Gemfile-rails-7-0
Normal file
38
gemfiles/Gemfile-rails-7-0
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
source "https://rubygems.org"
|
||||||
|
|
||||||
|
gemspec path: ".."
|
||||||
|
|
||||||
|
gem "rails", "~> 7.0.0"
|
||||||
|
gem "omniauth"
|
||||||
|
gem "omniauth-oauth2"
|
||||||
|
gem "rdoc"
|
||||||
|
|
||||||
|
gem "rails-controller-testing", github: "rails/rails-controller-testing"
|
||||||
|
|
||||||
|
gem "responders", "~> 3.1"
|
||||||
|
|
||||||
|
group :test do
|
||||||
|
gem "omniauth-facebook"
|
||||||
|
gem "omniauth-openid"
|
||||||
|
gem "rexml"
|
||||||
|
gem "timecop"
|
||||||
|
gem "webrat", "0.7.3", require: false
|
||||||
|
gem "mocha", "~> 2.1", require: false
|
||||||
|
end
|
||||||
|
|
||||||
|
platforms :ruby do
|
||||||
|
gem "sqlite3", "~> 1.4"
|
||||||
|
end
|
||||||
|
|
||||||
|
# platforms :jruby do
|
||||||
|
# gem "activerecord-jdbc-adapter"
|
||||||
|
# gem "activerecord-jdbcsqlite3-adapter"
|
||||||
|
# gem "jruby-openssl"
|
||||||
|
# end
|
||||||
|
|
||||||
|
# TODO:
|
||||||
|
# group :mongoid do
|
||||||
|
# gem "mongoid", "~> 4.0.0"
|
||||||
|
# end
|
||||||
@@ -17,7 +17,7 @@ group :test do
|
|||||||
gem "rexml"
|
gem "rexml"
|
||||||
gem "timecop"
|
gem "timecop"
|
||||||
gem "webrat", "0.7.3", require: false
|
gem "webrat", "0.7.3", require: false
|
||||||
gem "mocha", "~> 1.1", require: false
|
gem "mocha", "~> 2.1", require: false
|
||||||
end
|
end
|
||||||
|
|
||||||
platforms :ruby do
|
platforms :ruby do
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
module Devise
|
module Devise
|
||||||
VERSION = "4.9.2".freeze
|
VERSION = "4.9.3".freeze
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -64,30 +64,30 @@ class ControllerAuthenticatableTest < Devise::ControllerTestCase
|
|||||||
end
|
end
|
||||||
|
|
||||||
test 'proxy authenticate_user! to authenticate with user scope' do
|
test 'proxy authenticate_user! to authenticate with user scope' do
|
||||||
@mock_warden.expects(:authenticate!).with(scope: :user)
|
@mock_warden.expects(:authenticate!).with({ scope: :user })
|
||||||
@controller.authenticate_user!
|
@controller.authenticate_user!
|
||||||
end
|
end
|
||||||
|
|
||||||
test 'proxy authenticate_user! options to authenticate with user scope' do
|
test 'proxy authenticate_user! options to authenticate with user scope' do
|
||||||
@mock_warden.expects(:authenticate!).with(scope: :user, recall: "foo")
|
@mock_warden.expects(:authenticate!).with({ scope: :user, recall: "foo" })
|
||||||
@controller.authenticate_user!(recall: "foo")
|
@controller.authenticate_user!(recall: "foo")
|
||||||
end
|
end
|
||||||
|
|
||||||
test 'proxy authenticate_admin! to authenticate with admin scope' do
|
test 'proxy authenticate_admin! to authenticate with admin scope' do
|
||||||
@mock_warden.expects(:authenticate!).with(scope: :admin)
|
@mock_warden.expects(:authenticate!).with({ scope: :admin })
|
||||||
@controller.authenticate_admin!
|
@controller.authenticate_admin!
|
||||||
end
|
end
|
||||||
|
|
||||||
test 'proxy authenticate_[group]! to authenticate!? with each scope' do
|
test 'proxy authenticate_[group]! to authenticate!? with each scope' do
|
||||||
[:user, :admin].each do |scope|
|
[:user, :admin].each do |scope|
|
||||||
@mock_warden.expects(:authenticate!).with(scope: scope)
|
@mock_warden.expects(:authenticate!).with({ scope: scope })
|
||||||
@mock_warden.expects(:authenticate?).with(scope: scope).returns(false)
|
@mock_warden.expects(:authenticate?).with(scope: scope).returns(false)
|
||||||
end
|
end
|
||||||
@controller.authenticate_commenter!
|
@controller.authenticate_commenter!
|
||||||
end
|
end
|
||||||
|
|
||||||
test 'proxy authenticate_publisher_account! to authenticate with namespaced publisher account scope' do
|
test 'proxy authenticate_publisher_account! to authenticate with namespaced publisher account scope' do
|
||||||
@mock_warden.expects(:authenticate!).with(scope: :publisher_account)
|
@mock_warden.expects(:authenticate!).with({ scope: :publisher_account })
|
||||||
@controller.authenticate_publisher_account!
|
@controller.authenticate_publisher_account!
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -127,14 +127,14 @@ class ControllerAuthenticatableTest < Devise::ControllerTestCase
|
|||||||
test 'sign in proxy to set_user on warden' do
|
test 'sign in proxy to set_user on warden' do
|
||||||
user = User.new
|
user = User.new
|
||||||
@mock_warden.expects(:user).returns(nil)
|
@mock_warden.expects(:user).returns(nil)
|
||||||
@mock_warden.expects(:set_user).with(user, scope: :user).returns(true)
|
@mock_warden.expects(:set_user).with(user, { scope: :user }).returns(true)
|
||||||
@controller.sign_in(:user, user)
|
@controller.sign_in(:user, user)
|
||||||
end
|
end
|
||||||
|
|
||||||
test 'sign in accepts a resource as argument' do
|
test 'sign in accepts a resource as argument' do
|
||||||
user = User.new
|
user = User.new
|
||||||
@mock_warden.expects(:user).returns(nil)
|
@mock_warden.expects(:user).returns(nil)
|
||||||
@mock_warden.expects(:set_user).with(user, scope: :user).returns(true)
|
@mock_warden.expects(:set_user).with(user, { scope: :user }).returns(true)
|
||||||
@controller.sign_in(user)
|
@controller.sign_in(user)
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -148,7 +148,7 @@ class ControllerAuthenticatableTest < Devise::ControllerTestCase
|
|||||||
test 'sign in again when the user is already in only if force is given' do
|
test 'sign in again when the user is already in only if force is given' do
|
||||||
user = User.new
|
user = User.new
|
||||||
@mock_warden.expects(:user).returns(user)
|
@mock_warden.expects(:user).returns(user)
|
||||||
@mock_warden.expects(:set_user).with(user, scope: :user).returns(true)
|
@mock_warden.expects(:set_user).with(user, { scope: :user }).returns(true)
|
||||||
@controller.sign_in(user, force: true)
|
@controller.sign_in(user, force: true)
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -269,7 +269,7 @@ class ControllerAuthenticatableTest < Devise::ControllerTestCase
|
|||||||
user = User.new
|
user = User.new
|
||||||
@controller.session[:user_return_to] = "/foo.bar"
|
@controller.session[:user_return_to] = "/foo.bar"
|
||||||
@mock_warden.expects(:user).with(:user).returns(nil)
|
@mock_warden.expects(:user).with(:user).returns(nil)
|
||||||
@mock_warden.expects(:set_user).with(user, scope: :user).returns(true)
|
@mock_warden.expects(:set_user).with(user, { scope: :user }).returns(true)
|
||||||
@controller.expects(:redirect_to).with("/foo.bar")
|
@controller.expects(:redirect_to).with("/foo.bar")
|
||||||
@controller.sign_in_and_redirect(user)
|
@controller.sign_in_and_redirect(user)
|
||||||
end
|
end
|
||||||
@@ -277,7 +277,7 @@ class ControllerAuthenticatableTest < Devise::ControllerTestCase
|
|||||||
test 'sign in and redirect uses the configured after sign in path' do
|
test 'sign in and redirect uses the configured after sign in path' do
|
||||||
admin = Admin.new
|
admin = Admin.new
|
||||||
@mock_warden.expects(:user).with(:admin).returns(nil)
|
@mock_warden.expects(:user).with(:admin).returns(nil)
|
||||||
@mock_warden.expects(:set_user).with(admin, scope: :admin).returns(true)
|
@mock_warden.expects(:set_user).with(admin, { scope: :admin }).returns(true)
|
||||||
@controller.expects(:redirect_to).with(admin_root_path)
|
@controller.expects(:redirect_to).with(admin_root_path)
|
||||||
@controller.sign_in_and_redirect(admin)
|
@controller.sign_in_and_redirect(admin)
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ class HelpersTest < Devise::ControllerTestCase
|
|||||||
end
|
end
|
||||||
|
|
||||||
test 'require no authentication tests current mapping' do
|
test 'require no authentication tests current mapping' do
|
||||||
@mock_warden.expects(:authenticate?).with(:rememberable, scope: :user).returns(true)
|
@mock_warden.expects(:authenticate?).with(:rememberable, { scope: :user }).returns(true)
|
||||||
@mock_warden.expects(:user).with(:user).returns(User.new)
|
@mock_warden.expects(:user).with(:user).returns(User.new)
|
||||||
@controller.expects(:redirect_to).with(root_path)
|
@controller.expects(:redirect_to).with(root_path)
|
||||||
@controller.send :require_no_authentication
|
@controller.send :require_no_authentication
|
||||||
@@ -71,7 +71,7 @@ class HelpersTest < Devise::ControllerTestCase
|
|||||||
end
|
end
|
||||||
|
|
||||||
test 'require no authentication sets a flash message' do
|
test 'require no authentication sets a flash message' do
|
||||||
@mock_warden.expects(:authenticate?).with(:rememberable, scope: :user).returns(true)
|
@mock_warden.expects(:authenticate?).with(:rememberable, { scope: :user }).returns(true)
|
||||||
@mock_warden.expects(:user).with(:user).returns(User.new)
|
@mock_warden.expects(:user).with(:user).returns(User.new)
|
||||||
@controller.expects(:redirect_to).with(root_path)
|
@controller.expects(:redirect_to).with(root_path)
|
||||||
@controller.send :require_no_authentication
|
@controller.send :require_no_authentication
|
||||||
|
|||||||
@@ -572,7 +572,7 @@ class AuthenticationRequestKeysTest < Devise::IntegrationTest
|
|||||||
host! 'foo.bar.baz'
|
host! 'foo.bar.baz'
|
||||||
|
|
||||||
swap Devise, request_keys: [:subdomain] do
|
swap Devise, request_keys: [:subdomain] do
|
||||||
User.expects(:find_for_authentication).with(subdomain: 'foo', email: 'user@test.com').returns(create_user)
|
User.expects(:find_for_authentication).with({ subdomain: 'foo', email: 'user@test.com' }).returns(create_user)
|
||||||
sign_in_as_user
|
sign_in_as_user
|
||||||
assert warden.authenticated?(:user)
|
assert warden.authenticated?(:user)
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ class AuthenticatableTest < ActiveSupport::TestCase
|
|||||||
user = create_user(email: 'example@example.com')
|
user = create_user(email: 'example@example.com')
|
||||||
attributes = ActionController::Parameters.new(email: 'example@example.com')
|
attributes = ActionController::Parameters.new(email: 'example@example.com')
|
||||||
|
|
||||||
User.expects(:find_first_by_auth_conditions).with('email' => 'example@example.com').returns(user)
|
User.expects(:find_first_by_auth_conditions).with({ 'email' => 'example@example.com' }).returns(user)
|
||||||
User.find_or_initialize_with_errors([:email], attributes)
|
User.find_or_initialize_with_errors([:email], attributes)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -53,5 +53,9 @@ module RailsApp
|
|||||||
if Devise::Test.rails70?
|
if Devise::Test.rails70?
|
||||||
config.active_record.legacy_connection_handling = false
|
config.active_record.legacy_connection_handling = false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if Devise::Test.rails70_and_up?
|
||||||
|
config.active_support.cache_format_version = 7.0
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -12,6 +12,10 @@ module Devise
|
|||||||
!rails70? && Rails::VERSION::MAJOR >= 7
|
!rails70? && Rails::VERSION::MAJOR >= 7
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def self.rails70_and_up?
|
||||||
|
Rails::VERSION::MAJOR >= 7
|
||||||
|
end
|
||||||
|
|
||||||
def self.rails70?
|
def self.rails70?
|
||||||
Rails.version.start_with? '7.0'
|
Rails.version.start_with? '7.0'
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'test_helper'
|
require 'test_helper'
|
||||||
|
|
||||||
ExpectedRoutingError = MiniTest::Assertion
|
ExpectedRoutingError = Minitest::Assertion
|
||||||
|
|
||||||
class DefaultRoutingTest < ActionController::TestCase
|
class DefaultRoutingTest < ActionController::TestCase
|
||||||
test 'map new user session' do
|
test 'map new user session' do
|
||||||
|
|||||||
@@ -27,11 +27,14 @@ class ActiveSupport::TestCase
|
|||||||
if ActiveSupport.version < Gem::Version.new("5.0")
|
if ActiveSupport.version < Gem::Version.new("5.0")
|
||||||
def assert_deprecated(match, deprecator)
|
def assert_deprecated(match, deprecator)
|
||||||
super(match) do
|
super(match) do
|
||||||
behavior = deprecator.behavior
|
# TODO: remove extra begin..end when dropping support for Ruby <= 2.4
|
||||||
deprecator.behavior = ActiveSupport::Deprecation.behavior
|
begin
|
||||||
yield
|
behavior = deprecator.behavior
|
||||||
ensure
|
deprecator.behavior = ActiveSupport::Deprecation.behavior
|
||||||
deprecator.behavior = behavior
|
yield
|
||||||
|
ensure
|
||||||
|
deprecator.behavior = behavior
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user