tiddle 1.8.1 → 1.9.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2f2ed0612bc75fa65d51698a55ee988a5c490a4d3effb5427dd4d1a28e6245dd
4
- data.tar.gz: 427329473b539b834b336fa06b1d7ec2112a1518eee77ade08b82bbd7aefb2a8
3
+ metadata.gz: 733cfe571ca455e2268dc7c37fd02f5e385512360741dde7e0ec13cdd742b1d9
4
+ data.tar.gz: 6c13743e957f03ef2b808312e3803992a2043d882360b53b981a7212deeffd6c
5
5
  SHA512:
6
- metadata.gz: 4dc7f6abcdccab03224a92f2d7086afa8efa1b20f9fda55289028ccb5530ed930d0e0ed3ca56954fc25f376edad07d3bc0483dbeb69c0675ee7d7698f9786876
7
- data.tar.gz: 2c061b3ecf31c7b75481f973ea947c1d722f8bb052b22b20cab86fc45417227d35deede8b91afd585935a4371ab44dfefbc72d3d3f3f872c6a2709c54fd8b722
6
+ metadata.gz: 25a2bc2f0ce66488b7131470870b6af13095c2c4494ef04705bb09d7d725d1d2e927ac486d59515ce7e4edc9ae564bd530bf6eff7908ba47f73e076882f31808
7
+ data.tar.gz: f5845920961f94b7fd44d8e24b84f62fa70dd559b87f69502f6ba884bfa3a5b7154379cda71c5ceeb4f8415095ccee86a26ede52bfc42925ed68609e516c068f
@@ -12,14 +12,13 @@ jobs:
12
12
  fail-fast: false
13
13
  matrix:
14
14
  gemfile:
15
- - rails6.1
16
- - rails7.0
17
- - rails7.1
15
+ - rails7.2
16
+ - rails8.0
17
+ - rails8.1
18
18
  ruby:
19
- - "3.0"
20
- - "3.1"
21
- - "3.2"
22
19
  - "3.3"
20
+ - "3.4"
21
+ - "4.0"
23
22
  backend:
24
23
  - active_record
25
24
  - mongoid
@@ -30,14 +29,14 @@ jobs:
30
29
  BACKEND: ${{ matrix.backend }}
31
30
 
32
31
  steps:
33
- - uses: actions/checkout@v2
32
+ - uses: actions/checkout@v7
34
33
  - name: Set up Ruby
35
34
  uses: ruby/setup-ruby@v1
36
35
  with:
37
36
  bundler-cache: true
38
37
  ruby-version: ${{ matrix.ruby }}
39
38
  - name: Start MongoDB
40
- uses: supercharge/mongodb-github-action@1.3.0
39
+ uses: supercharge/mongodb-github-action@1.10.0
41
40
  if: ${{ matrix.backend == 'mongoid' }}
42
41
  - name: Run tests
43
42
  run: |
data/.gitignore CHANGED
@@ -6,6 +6,8 @@
6
6
  /doc/
7
7
  /pkg/
8
8
  /spec/reports/
9
+ /spec/rails_app_active_record/tmp/
10
+ /spec/rails_app_mongoid/tmp/
9
11
  /tmp/
10
12
  *.bundle
11
13
  *.so
data/.rubocop.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  AllCops:
2
- TargetRubyVersion: 2.6
2
+ TargetRubyVersion: 3.3
3
3
  Include:
4
4
  - 'lib/**/*.rb'
5
5
  - 'spec/**/*.rb'
data/CHANGELOG.md CHANGED
@@ -1,3 +1,13 @@
1
+ ### 1.9.0
2
+
3
+ Minimum supported ruby version is now 3.3 (André Piske)
4
+
5
+ Minimum supported Rails version is now 7.2 (André Piske)
6
+
7
+ Relax devise dependency to >= 4, < 6, thus supporting devise 5 (André Piske)
8
+
9
+ Support Devise config.authentication_keys in hash format (Arek W)
10
+
1
11
  ### 1.8.1
2
12
 
3
13
  Remove Rails 5.2 and 6.0 support
data/docker-compose.yml CHANGED
@@ -13,7 +13,7 @@ services:
13
13
  - redis
14
14
  environment:
15
15
  - REDIS_URL=redis://redis:6379/1
16
- - BUNDLE_GEMFILE=gemfiles/rails7.1.gemfile
16
+ - BUNDLE_GEMFILE=gemfiles/rails8.1.gemfile
17
17
  redis:
18
18
  image: "redis:6-alpine"
19
19
  command: redis-server
@@ -0,0 +1,8 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem "rubocop", "~> 1.88"
4
+ gem "rails", "~> 7.2"
5
+ gem "mongoid", "~> 9"
6
+ gem "sqlite3"
7
+
8
+ gemspec path: "../"
@@ -0,0 +1,8 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem "rubocop", "~> 1.88"
4
+ gem "rails", "~> 8.0.0"
5
+ gem "mongoid", "~> 9"
6
+ gem "sqlite3"
7
+
8
+ gemspec path: "../"
@@ -0,0 +1,8 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem "rubocop", "~> 1.88"
4
+ gem "rails", "~> 8.1.0"
5
+ gem "mongoid", "~> 9"
6
+ gem "sqlite3"
7
+
8
+ gemspec path: "../"
@@ -53,7 +53,11 @@ module Devise
53
53
  end
54
54
 
55
55
  def authentication_keys
56
- mapping.to.authentication_keys
56
+ if mapping.to.authentication_keys.is_a?(Hash)
57
+ mapping.to.authentication_keys.keys
58
+ else
59
+ mapping.to.authentication_keys
60
+ end
57
61
  end
58
62
 
59
63
  def touch_token(token)
@@ -1,3 +1,3 @@
1
1
  module Tiddle
2
- VERSION = "1.8.1".freeze
2
+ VERSION = "1.9.0".freeze
3
3
  end
@@ -1,4 +1,4 @@
1
- class CreateTables < ActiveRecord::Migration[4.2]
1
+ class CreateTables < ActiveRecord::Migration::Current
2
2
  # rubocop:disable Metrics/AbcSize
3
3
  # rubocop:disable Metrics/MethodLength
4
4
  def change
@@ -181,6 +181,35 @@ describe "Authentication using Tiddle strategy", type: :request do
181
181
  end
182
182
  end
183
183
 
184
+ describe "when authentication_keys is a hash" do
185
+ before do
186
+ Devise.setup do |config|
187
+ config.authentication_keys = { email: true }
188
+ end
189
+
190
+ @user = User.create!(
191
+ email: "test@example.com",
192
+ password: "12345678"
193
+ )
194
+ @token = Tiddle.create_and_return_token(@user, FakeRequest.new)
195
+ end
196
+
197
+ after do
198
+ Devise.setup do |config|
199
+ config.authentication_keys = [:email]
200
+ end
201
+ end
202
+
203
+ it "allows to access endpoints which require authentication with valid \
204
+ nick name and token" do
205
+ get(
206
+ secrets_path,
207
+ headers: { "X-USER-EMAIL" => "test@example.com", "X-USER-TOKEN" => @token }
208
+ )
209
+ expect(response.status).to eq 200
210
+ end
211
+ end
212
+
184
213
  context "when token has expires_in set up" do
185
214
  before do
186
215
  @user = User.create!(email: "test@example.com", password: "12345678")
@@ -23,10 +23,7 @@ module Backend
23
23
  # Do initial migration
24
24
  path = File.expand_path("../rails_app_active_record/db/migrate/", File.dirname(__FILE__))
25
25
 
26
- ActiveRecord::MigrationContext.new(
27
- path,
28
- ActiveRecord::SchemaMigration
29
- ).migrate
26
+ ActiveRecord::MigrationContext.new(path).migrate
30
27
  end
31
28
  end
32
29
 
data/tiddle.gemspec CHANGED
@@ -16,11 +16,11 @@ Gem::Specification.new do |spec|
16
16
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
17
17
  spec.require_paths = ["lib"]
18
18
 
19
- spec.required_ruby_version = '>= 3.0.0'
19
+ spec.required_ruby_version = '>= 3.3.0'
20
20
 
21
- spec.add_dependency "devise", ">= 4.0.0.rc1", "< 5"
22
- spec.add_dependency "activerecord", ">= 6.1.0"
23
- spec.add_development_dependency "rake"
21
+ spec.add_dependency "devise", ">= 4.7", "< 6"
22
+ spec.add_dependency "activerecord", ">= 7.2.0"
23
+ spec.add_development_dependency "rake", "~> 13"
24
24
  spec.add_development_dependency "rspec-rails"
25
25
  spec.add_development_dependency "simplecov"
26
26
  spec.add_development_dependency "rubocop"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tiddle
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.1
4
+ version: 1.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam Niedzielski
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-06-14 00:00:00.000000000 Z
11
+ date: 2026-07-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: devise
@@ -16,48 +16,48 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 4.0.0.rc1
19
+ version: '4.7'
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: '5'
22
+ version: '6'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: 4.0.0.rc1
29
+ version: '4.7'
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: '5'
32
+ version: '6'
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: activerecord
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - ">="
38
38
  - !ruby/object:Gem::Version
39
- version: 6.1.0
39
+ version: 7.2.0
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: 6.1.0
46
+ version: 7.2.0
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rake
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  requirements:
51
- - - ">="
51
+ - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: '0'
53
+ version: '13'
54
54
  type: :development
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'
60
+ version: '13'
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: rspec-rails
63
63
  requirement: !ruby/object:Gem::Requirement
@@ -148,9 +148,9 @@ files:
148
148
  - Rakefile
149
149
  - config/locales/en.yml
150
150
  - docker-compose.yml
151
- - gemfiles/rails6.1.gemfile
152
- - gemfiles/rails7.0.gemfile
153
- - gemfiles/rails7.1.gemfile
151
+ - gemfiles/rails7.2.gemfile
152
+ - gemfiles/rails8.0.gemfile
153
+ - gemfiles/rails8.1.gemfile
154
154
  - lib/tiddle.rb
155
155
  - lib/tiddle/model.rb
156
156
  - lib/tiddle/model_name.rb
@@ -204,14 +204,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
204
204
  requirements:
205
205
  - - ">="
206
206
  - !ruby/object:Gem::Version
207
- version: 3.0.0
207
+ version: 3.3.0
208
208
  required_rubygems_version: !ruby/object:Gem::Requirement
209
209
  requirements:
210
210
  - - ">="
211
211
  - !ruby/object:Gem::Version
212
212
  version: '0'
213
213
  requirements: []
214
- rubygems_version: 3.5.12
214
+ rubygems_version: 3.5.16
215
215
  signing_key:
216
216
  specification_version: 4
217
217
  summary: Token authentication for Devise which supports multiple tokens per model
@@ -1,7 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gem "rails", "~> 6.1.0"
4
- gem "mongoid"
5
- gem "sqlite3", "~> 1.4"
6
-
7
- gemspec path: "../"
@@ -1,7 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gem "rails", "~> 7.0.2"
4
- gem "mongoid"
5
- gem "sqlite3", "~> 1.4"
6
-
7
- gemspec path: "../"
@@ -1,7 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gem "rails", "~> 7.1.3"
4
- gem "mongoid"
5
- gem "sqlite3", "~> 1.4"
6
-
7
- gemspec path: "../"