sorcery 0.16.0 → 0.16.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 44ff0a756fa8a8379e9333f116a72be359847bd3f9611f643e2f2200180dd4f6
4
- data.tar.gz: 8e4bcf9034cac0cac8eddaf296df1a64757272d99c9954e35f99f45d2c9d2836
3
+ metadata.gz: f2d091c4af06b65d0b8640aa1664cc03370f0859a0d37ccca2865813a41956ec
4
+ data.tar.gz: c60ee8af595868a99ddced5363716f6593f494bb82e97a82d35769b4a1c223e4
5
5
  SHA512:
6
- metadata.gz: e6ef63584276452138f36a8cc1f22928d79f9e5998d4ade707c116e825f63e114a8219a5157c13508116caf4a7b46e08670b34b0ee7ea2e84e673f5f68e1f092
7
- data.tar.gz: f5d3599a90e6a50896d19c67434e9ac9cf250f8357685d48426745da7bd210e8b3238a6b026243b5ea045f83c973914f505a77c000004b50ba40d721a51eb182
6
+ metadata.gz: 24281e4ee0082665b792c467fbc9f7e70a6d3f26492a66de179248b6d3c97dcabf2aa3058e44239961ffa01645708883d22e097ac28dfc2b64e38ef2743a03c3
7
+ data.tar.gz: 55c173b3a0ea39d8067bb26b737e57548fb67357c0969d1eb08290c8876294157f2ca7c17888874d208d88fe893840b4046bf3463c1ead9fa16c15358a9d5668
@@ -0,0 +1 @@
1
+ github: athix
@@ -1,4 +1,4 @@
1
- Please complete all sections.
1
+ <!-- Please complete all sections. -->
2
2
 
3
3
  ### Configuration
4
4
 
@@ -9,12 +9,16 @@ Please complete all sections.
9
9
 
10
10
  ### Expected Behavior
11
11
 
12
- Tell us what should happen.
12
+ <!-- Tell us what should happen. -->
13
13
 
14
14
  ### Actual Behavior
15
15
 
16
- Tell us what happens instead.
16
+ <!-- Tell us what happens instead. -->
17
17
 
18
18
  ### Steps to Reproduce
19
19
 
20
- Please list all steps to reproduce the issue.
20
+ <!-- Please list all steps to reproduce the issue. -->
21
+
22
+ 1.
23
+ 2.
24
+ 3.
@@ -3,3 +3,5 @@ Please ensure your pull request includes the following:
3
3
  - [ ] Description of changes
4
4
  - [ ] Update to CHANGELOG.md with short description and link to pull request
5
5
  - [ ] Changes have related RSpec tests that ensure functionality does not break
6
+
7
+ <!-- For the changelog, please add your entry to the HEAD section. Do not create a new release header. -->
@@ -1,23 +1,70 @@
1
- name: Ruby
1
+ name: Test Suite
2
2
 
3
+ # Run against all commits and pull requests.
3
4
  on:
5
+ schedule:
6
+ - cron: '0 0 * * *'
4
7
  push:
5
- branches: [ master ]
6
8
  pull_request:
7
- branches: [ master ]
8
9
 
9
10
  jobs:
10
- test:
11
+ test_matrix:
11
12
 
12
13
  runs-on: ubuntu-latest
13
14
 
15
+ strategy:
16
+ fail-fast: false
17
+ matrix:
18
+ ruby:
19
+ - 2.4
20
+ - 2.5
21
+ - 2.6
22
+ - 2.7
23
+ - 3.0.0
24
+ # - 3.1
25
+
26
+ rails:
27
+ - '52'
28
+ - '60'
29
+ - '61'
30
+ # - '70'
31
+
32
+ exclude:
33
+ - ruby: 2.4
34
+ rails: '60'
35
+ - ruby: 2.4
36
+ rails: '61'
37
+ # - ruby: 2.4
38
+ # rails: '70'
39
+ # - ruby: 2.5
40
+ # rails: '70'
41
+ # - ruby: 2.6
42
+ # rails: '70'
43
+ - ruby: 3.0.0
44
+ rails: '52'
45
+ # - ruby: 3.1
46
+ # rails: '52'
47
+ # - ruby: 3.1
48
+ # rails: '60'
49
+ # - ruby: 3.1
50
+ # rails: '61'
51
+
52
+ env:
53
+ BUNDLE_GEMFILE: gemfiles/rails_${{ matrix.rails }}.gemfile
54
+
55
+ steps:
56
+ - uses: actions/checkout@v2
57
+ - name: Set up Ruby
58
+ uses: ruby/setup-ruby@v1
59
+ with:
60
+ ruby-version: ${{ matrix.ruby }}
61
+ bundler-cache: true
62
+ - name: Run tests
63
+ run: bundle exec rake spec
64
+
65
+ finish:
66
+ runs-on: ubuntu-latest
67
+ needs: [ test_matrix ]
14
68
  steps:
15
- - uses: actions/checkout@v2
16
- - name: Set up Ruby
17
- uses: ruby/setup-ruby@v1
18
- with:
19
- ruby-version: 2.6
20
- - name: Install dependencies
21
- run: bundle install
22
- - name: Run tests
23
- run: bundle exec rake
69
+ - name: Wait for status checks
70
+ run: echo "All Green!"
data/.rubocop_todo.yml CHANGED
@@ -1,6 +1,6 @@
1
1
  # This configuration was generated by
2
2
  # `rubocop --auto-gen-config`
3
- # on 2021-01-02 07:53:19 UTC using RuboCop version 0.88.0.
3
+ # on 2021-04-04 05:00:11 UTC using RuboCop version 0.88.0.
4
4
  # The point is for the user to remove these configuration records
5
5
  # one by one as the offenses are removed from the code base.
6
6
  # Note that changes in the inspected code, or installation of new
@@ -147,6 +147,14 @@ Style/StringLiterals:
147
147
  - 'spec/controllers/controller_oauth2_spec.rb'
148
148
  - 'spec/sorcery_crypto_providers_spec.rb'
149
149
 
150
+ # Offense count: 1
151
+ # Cop supports --auto-correct.
152
+ # Configuration parameters: EnforcedStyle, MinSize.
153
+ # SupportedStyles: percent, brackets
154
+ Style/SymbolArray:
155
+ Exclude:
156
+ - 'Rakefile'
157
+
150
158
  # Offense count: 2
151
159
  # Cop supports --auto-correct.
152
160
  Style/UnpackFirst:
data/CHANGELOG.md CHANGED
@@ -1,6 +1,23 @@
1
1
  # Changelog
2
2
  ## HEAD
3
3
 
4
+ ## 0.16.3
5
+
6
+ * Fix provider instantiation for plural provider names (eg. okta) [#305](https://github.com/Sorcery/sorcery/pull/305)
7
+
8
+ ## 0.16.2
9
+
10
+ * Inline core migration index definition [#281](https://github.com/Sorcery/sorcery/pull/281)
11
+ * Add missing remember_me attributes to config [#180](https://github.com/Sorcery/sorcery/pull/180)
12
+ * Fix MongoID adapter breaking on save [#284](https://github.com/Sorcery/sorcery/pull/284)
13
+ * Don't pass token to Slack in query params. Prevents 'invalid_auth' error [#287](https://github.com/Sorcery/sorcery/pull/287)
14
+ * Fix valid_password? not using configured values when called alone [#293](https://github.com/Sorcery/sorcery/pull/293)
15
+
16
+ ## 0.16.1
17
+
18
+ * Fix default table name being incorrect in migration generator [#274](https://github.com/Sorcery/sorcery/pull/274)
19
+ * Update `oauth` dependency per CVE-2016-11086
20
+
4
21
  ## 0.16.0
5
22
 
6
23
  * Add BattleNet Provider [#260](https://github.com/Sorcery/sorcery/pull/260)
@@ -11,6 +28,10 @@
11
28
  * Fix ruby 2.7 deprecation warnings [#241](https://github.com/Sorcery/sorcery/pull/241)
12
29
  * Use set to ensure unique arrays [#233](https://github.com/Sorcery/sorcery/pull/233)
13
30
 
31
+ ## 0.15.1
32
+
33
+ * Update `oauth` dependency per CVE-2016-11086
34
+
14
35
  ## 0.15.0
15
36
 
16
37
  * Fix brute force vuln due to callbacks no being ran [#235](https://github.com/Sorcery/sorcery/pull/235)
data/MAINTAINING.md ADDED
@@ -0,0 +1,64 @@
1
+ # Maintaining Sorcery
2
+
3
+ This will eventually be fleshed out so that anyone should be able to pick up and
4
+ maintain Sorcery by following this guide. It will provide step-by-step guides
5
+ for common tasks such as releasing new versions, as well as explain how to
6
+ triage issues and keep the CHANGELOG up-to-date.
7
+
8
+ ## Table of Contents
9
+
10
+ 1. [Merging Pull Requests](#merging-pull-requests)
11
+ 1. [Versioning](#versioning)
12
+ 1. [Version Naming](#version-naming)
13
+ 1. [Releasing a New Version](#releasing-a-new-version)
14
+
15
+ ## Merging Pull Requests
16
+
17
+ TODO
18
+
19
+ ## Versioning
20
+
21
+ ### Version Naming
22
+
23
+ Sorcery uses semantic versioning which can be found at: https://semver.org/
24
+
25
+ All versions of Sorcery should follow this format: `MAJOR.MINOR.PATCH`
26
+
27
+ Where:
28
+
29
+ * MAJOR - Includes backwards **incompatible** changes.
30
+ * MINOR - Introduces new functionality but is fully backwards compatible.
31
+ * PATCH - Fixes errors in existing functionality (must be backwards compatible).
32
+
33
+ The changelog and git tags should use `vMAJOR.MINOR.PATCH` to indicate that the
34
+ number represents a version of Sorcery. For example, `1.0.0` would become
35
+ `v1.0.0`.
36
+
37
+ ### Releasing a New Version
38
+
39
+ When it's time to release a new version, you'll want to ensure all the changes
40
+ you need are on the master branch and that there is a passing build. Then follow
41
+ this checklist and prepare a release commit:
42
+
43
+ NOTE: `X.Y.Z` and `vX.Y.Z` are given as examples, and should be replaced with
44
+ whatever version you are releasing. See: [Version Naming](#version-naming)
45
+
46
+ 1. Update CHANGELOG.md
47
+ 1. Check for any changes that have been included since the last release that
48
+ are not reflected in the changelog. Add any missing entries to the `HEAD`
49
+ section.
50
+ 1. Check the changes in `HEAD` to determine what version increment is
51
+ appropriate. See [Version Naming](#version-naming) if unsure.
52
+ 1. Replace `## HEAD` with `## vX.Y.Z` and create a new `## HEAD` section
53
+ above the latest version.
54
+ 1. Update Gem Version
55
+ 1. Update `./lib/sorcery/version.rb` to 'X.Y.Z'
56
+ 1. Stage your changes and create a commit
57
+ 1. `git add -A`
58
+ 1. `git commit -m "Release vX.Y.Z"`
59
+ 1. TODO: Gem Release (WIP)
60
+ 1. `cd <dir>`
61
+ 1. `gem build`
62
+ 1. `gem push <filename>`
63
+ 1. TODO: Version tagging
64
+ 1. Release new version via github interface
data/README.md CHANGED
@@ -2,10 +2,7 @@
2
2
 
3
3
  [![Gem Version](https://badge.fury.io/rb/sorcery.svg)](https://rubygems.org/gems/sorcery)
4
4
  [![Gem Downloads](https://img.shields.io/gem/dt/sorcery.svg)](https://rubygems.org/gems/sorcery)
5
- [![Build Status](https://travis-ci.org/Sorcery/sorcery.svg?branch=master)](https://travis-ci.org/Sorcery/sorcery)
6
- [![Code Climate](https://codeclimate.com/github/Sorcery/sorcery.svg)](https://codeclimate.com/github/Sorcery/sorcery)
7
- [![Inline docs](http://inch-ci.org/github/Sorcery/sorcery.svg?branch=master)](http://inch-ci.org/github/Sorcery/sorcery)
8
- [![Join the chat at https://gitter.im/Sorcery/sorcery](https://badges.gitter.im/join_chat.svg)](https://gitter.im/Sorcery/sorcery?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
5
+ [![Build Status](https://github.com/Sorcery/sorcery/actions/workflows/ruby.yml/badge.svg?branch=master)](https://github.com/Sorcery/sorcery/actions/workflows/ruby.yml)
9
6
 
10
7
  Magical Authentication for Rails. Supports ActiveRecord, DataMapper, Mongoid and MongoMapper.
11
8
 
data/Rakefile CHANGED
@@ -1,6 +1,8 @@
1
1
  require 'bundler/gem_tasks'
2
2
 
3
3
  require 'rspec/core/rake_task'
4
+ require 'rubocop/rake_task'
4
5
  RSpec::Core::RakeTask.new(:spec)
6
+ RuboCop::RakeTask.new
5
7
 
6
- task default: :spec
8
+ task default: [:rubocop, :spec]
data/SECURITY.md CHANGED
@@ -2,10 +2,11 @@
2
2
 
3
3
  ## Supported Versions
4
4
 
5
- | Version | Supported |
6
- | -------- | ------------------ |
7
- | 0.15.0 | :white_check_mark: |
8
- | < 0.15.0 | :x: |
5
+ | Version | Supported |
6
+ | --------- | ------------------ |
7
+ | ~> 0.16.0 | :white_check_mark: |
8
+ | ~> 0.15.0 | :white_check_mark: |
9
+ | < 0.15.0 | :x: |
9
10
 
10
11
  ## Reporting a Vulnerability
11
12
 
@@ -0,0 +1,7 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem 'rails', '~> 6.1.0'
4
+ gem 'rails-controller-testing'
5
+ gem 'sqlite3', '~> 1.4'
6
+
7
+ gemspec path: '..'
@@ -0,0 +1,7 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem 'rails', '~> 7.0.0'
4
+ gem 'rails-controller-testing'
5
+ gem 'sqlite3', '~> 1.4'
6
+
7
+ gemspec path: '..'
@@ -13,7 +13,7 @@ module Sorcery
13
13
  end
14
14
 
15
15
  def tableized_model_class
16
- options[:model] ? options[:model].gsub(/::/, '').tableize : 'User'
16
+ options[:model] ? options[:model].gsub(/::/, '').tableize : 'users'
17
17
  end
18
18
 
19
19
  def model_path
@@ -306,6 +306,16 @@ Rails.application.config.sorcery.configure do |config|
306
306
  # user.subclasses_inherit_config =
307
307
 
308
308
  # -- remember_me --
309
+ # change default remember_me_token attribute.
310
+ # Default: `:remember_me_token`
311
+ #
312
+ # user.remember_me_token_attribute_name =
313
+
314
+ # change default remember_me_token_expires_at attribute.
315
+ # Default: `:remember_me_token_expires_at`
316
+ #
317
+ # user.remember_me_token_expires_at_attribute_name =
318
+
309
319
  # How long in seconds the session length will be
310
320
  # Default: `60 * 60 * 24 * 7`
311
321
  #
@@ -1,13 +1,11 @@
1
1
  class SorceryCore < <%= migration_class_name %>
2
2
  def change
3
3
  create_table :<%= tableized_model_class %> do |t|
4
- t.string :email, null: false
4
+ t.string :email, null: false, index: { unique: true }
5
5
  t.string :crypted_password
6
6
  t.string :salt
7
7
 
8
8
  t.timestamps null: false
9
9
  end
10
-
11
- add_index :<%= tableized_model_class %>, :email, unique: true
12
10
  end
13
11
  end
@@ -32,7 +32,7 @@ module Sorcery
32
32
  end
33
33
 
34
34
  def define_callback(time, event, method_name, options = {})
35
- @klass.send callback_name(time, event, options), method_name, options.slice(:if)
35
+ @klass.send callback_name(time, event, options), method_name, **options.slice(:if)
36
36
  end
37
37
 
38
38
  def callback_name(time, event, options)
@@ -28,9 +28,6 @@ module Sorcery
28
28
  require 'sorcery/providers/line'
29
29
  require 'sorcery/providers/discord'
30
30
  require 'sorcery/providers/battlenet'
31
-
32
-
33
-
34
31
 
35
32
  Config.module_eval do
36
33
  class << self
@@ -43,7 +40,7 @@ module Sorcery
43
40
  providers.each do |name|
44
41
  class_eval <<-RUBY, __FILE__, __LINE__ + 1
45
42
  def self.#{name}
46
- @#{name} ||= Sorcery::Providers.const_get('#{name}'.to_s.classify).new
43
+ @#{name} ||= Sorcery::Providers.const_get('#{name}'.to_s.camelcase).new
47
44
  end
48
45
  RUBY
49
46
  end
data/lib/sorcery/model.rb CHANGED
@@ -131,6 +131,14 @@ module Sorcery
131
131
  @sorcery_config.encryption_provider.encrypt(*tokens)
132
132
  end
133
133
 
134
+ # FIXME: This method of passing config to the hashing provider is
135
+ # questionable, and has been refactored in Sorcery v1.
136
+ def set_encryption_attributes
137
+ @sorcery_config.encryption_provider.stretches = @sorcery_config.stretches if @sorcery_config.encryption_provider.respond_to?(:stretches) && @sorcery_config.stretches
138
+ @sorcery_config.encryption_provider.join_token = @sorcery_config.salt_join_token if @sorcery_config.encryption_provider.respond_to?(:join_token) && @sorcery_config.salt_join_token
139
+ @sorcery_config.encryption_provider.pepper = @sorcery_config.pepper if @sorcery_config.encryption_provider.respond_to?(:pepper) && @sorcery_config.pepper
140
+ end
141
+
134
142
  protected
135
143
 
136
144
  def authentication_response(options = {})
@@ -139,12 +147,6 @@ module Sorcery
139
147
  options[:return_value]
140
148
  end
141
149
 
142
- def set_encryption_attributes
143
- @sorcery_config.encryption_provider.stretches = @sorcery_config.stretches if @sorcery_config.encryption_provider.respond_to?(:stretches) && @sorcery_config.stretches
144
- @sorcery_config.encryption_provider.join_token = @sorcery_config.salt_join_token if @sorcery_config.encryption_provider.respond_to?(:join_token) && @sorcery_config.salt_join_token
145
- @sorcery_config.encryption_provider.pepper = @sorcery_config.pepper if @sorcery_config.encryption_provider.respond_to?(:pepper) && @sorcery_config.pepper
146
- end
147
-
148
150
  def add_config_inheritance
149
151
  class_eval do
150
152
  def self.inherited(subclass)
@@ -177,6 +179,9 @@ module Sorcery
177
179
  crypted = send(sorcery_config.crypted_password_attribute_name)
178
180
  return crypted == pass if sorcery_config.encryption_provider.nil?
179
181
 
182
+ # Ensure encryption provider is using configured values
183
+ self.class.set_encryption_attributes
184
+
180
185
  salt = send(sorcery_config.salt_attribute_name) unless sorcery_config.salt_attribute_name.nil?
181
186
 
182
187
  sorcery_config.encryption_provider.matches?(crypted, pass, salt)
@@ -18,7 +18,7 @@ module Sorcery
18
18
  end
19
19
 
20
20
  def get_user_hash(access_token)
21
- response = access_token.get(user_info_path, params: { token: access_token.token })
21
+ response = access_token.get(user_info_path)
22
22
  auth_hash(access_token).tap do |h|
23
23
  h[:user_info] = JSON.parse(response.body)
24
24
  h[:user_info]['email'] = h[:user_info]['user']['email']
@@ -1,3 +1,3 @@
1
1
  module Sorcery
2
- VERSION = '0.16.0'.freeze
2
+ VERSION = '0.16.3'.freeze
3
3
  end
data/sorcery.gemspec CHANGED
@@ -34,7 +34,7 @@ Gem::Specification.new do |s|
34
34
  s.required_ruby_version = '>= 2.4.9'
35
35
 
36
36
  s.add_dependency 'bcrypt', '~> 3.1'
37
- s.add_dependency 'oauth', '~> 0.4', '>= 0.4.4'
37
+ s.add_dependency 'oauth', '~> 0.5', '>= 0.5.5'
38
38
  s.add_dependency 'oauth2', '~> 1.0', '>= 0.8.0'
39
39
 
40
40
  s.add_development_dependency 'byebug', '~> 10.0.0'
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+ require 'sorcery/providers/base'
5
+
6
+ describe Sorcery::Providers::Examples do
7
+ before(:all) do
8
+ sorcery_reload!([:external])
9
+ sorcery_controller_property_set(:external_providers, [:examples])
10
+ end
11
+
12
+ context 'fetching a plural custom provider' do
13
+ it 'returns the provider' do
14
+ expect(Sorcery::Controller::Config.examples).to be_a(Sorcery::Providers::Examples)
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'sorcery/providers/base'
4
+
5
+ module Sorcery
6
+ module Providers
7
+ class Examples < Base
8
+ include Protocols::Oauth2
9
+ end
10
+ end
11
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sorcery
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.16.0
4
+ version: 0.16.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Noam Ben Ari
@@ -12,7 +12,7 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2021-02-16 00:00:00.000000000 Z
15
+ date: 2022-02-23 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: bcrypt
@@ -34,20 +34,20 @@ dependencies:
34
34
  requirements:
35
35
  - - "~>"
36
36
  - !ruby/object:Gem::Version
37
- version: '0.4'
37
+ version: '0.5'
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: 0.4.4
40
+ version: 0.5.5
41
41
  type: :runtime
42
42
  prerelease: false
43
43
  version_requirements: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0.4'
47
+ version: '0.5'
48
48
  - - ">="
49
49
  - !ruby/object:Gem::Version
50
- version: 0.4.4
50
+ version: 0.5.5
51
51
  - !ruby/object:Gem::Dependency
52
52
  name: oauth2
53
53
  requirement: !ruby/object:Gem::Requirement
@@ -195,6 +195,7 @@ extensions: []
195
195
  extra_rdoc_files: []
196
196
  files:
197
197
  - ".document"
198
+ - ".github/FUNDING.yml"
198
199
  - ".github/ISSUE_TEMPLATE.md"
199
200
  - ".github/PULL_REQUEST_TEMPLATE.md"
200
201
  - ".github/workflows/ruby.yml"
@@ -202,16 +203,18 @@ files:
202
203
  - ".rspec"
203
204
  - ".rubocop.yml"
204
205
  - ".rubocop_todo.yml"
205
- - ".travis.yml"
206
206
  - CHANGELOG.md
207
207
  - CODE_OF_CONDUCT.md
208
208
  - Gemfile
209
209
  - LICENSE.md
210
+ - MAINTAINING.md
210
211
  - README.md
211
212
  - Rakefile
212
213
  - SECURITY.md
213
214
  - gemfiles/rails_52.gemfile
214
215
  - gemfiles/rails_60.gemfile
216
+ - gemfiles/rails_61.gemfile
217
+ - gemfiles/rails_70.gemfile
215
218
  - lib/generators/sorcery/USAGE
216
219
  - lib/generators/sorcery/helpers.rb
217
220
  - lib/generators/sorcery/install_generator.rb
@@ -304,6 +307,7 @@ files:
304
307
  - spec/orm/active_record.rb
305
308
  - spec/providers/example_provider_spec.rb
306
309
  - spec/providers/example_spec.rb
310
+ - spec/providers/examples_spec.rb
307
311
  - spec/providers/vk_spec.rb
308
312
  - spec/rails_app/app/active_record/authentication.rb
309
313
  - spec/rails_app/app/active_record/user.rb
@@ -365,6 +369,7 @@ files:
365
369
  - spec/support/migration_helper.rb
366
370
  - spec/support/providers/example.rb
367
371
  - spec/support/providers/example_provider.rb
372
+ - spec/support/providers/examples.rb
368
373
  homepage: https://github.com/Sorcery/sorcery
369
374
  licenses:
370
375
  - MIT
@@ -386,7 +391,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
386
391
  - !ruby/object:Gem::Version
387
392
  version: '0'
388
393
  requirements: []
389
- rubygems_version: 3.1.2
394
+ rubygems_version: 3.2.3
390
395
  signing_key:
391
396
  specification_version: 4
392
397
  summary: Magical authentication for Rails applications
data/.travis.yml DELETED
@@ -1,17 +0,0 @@
1
- language: ruby
2
- cache: bundler
3
-
4
- rvm:
5
- - 2.4.9
6
- - 2.5.7
7
- - 2.6.5
8
- - 2.7.1
9
-
10
- gemfile:
11
- - gemfiles/rails_52.gemfile
12
- - gemfiles/rails_60.gemfile
13
-
14
- jobs:
15
- exclude:
16
- - rvm: 2.4.9
17
- gemfile: gemfiles/rails_60.gemfile