tiddle 1.6.0 → 1.7.0

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: ceda852fb296447c9da00e1f7cafabbfe6eefa599f457bcf1885aa937ba549db
4
- data.tar.gz: 4d0133d03bd53b4e75595a26ebb6ca115cb9ab6858f3a557eb38fb70dddf01c1
3
+ metadata.gz: d20d30a11350b4ee5ffe3a9c6ba9640afa90c13ddf87dac2c9bf6d4160339627
4
+ data.tar.gz: fcd8811ba7c94de4accbf4a7920e6903f780707d5af858c7e9a153691ec53351
5
5
  SHA512:
6
- metadata.gz: 97f53dad24042c517c85445a98e26206995d0242e7d80f42bfd1a49dd6cc40e8f55cfcfbfb9e704aed8992b3872897f8b39b5bb8d4b145e758536bc2ce1d7712
7
- data.tar.gz: ebdda46f4045e4aeb26ea535b233b3b75b6c434b7a2062fdc5f2342b0e529189c0f413c9d7d1e94693774efb4d95617b2f2b0082af038f1dd9ddcf8d483e28e4
6
+ metadata.gz: baf2289d634255233c6efe5c2988789a63ca05bdf1c278be92d500e50a5009e6875b29ef15c7e1cbb9bd03f131349bcf11757938f166a329389fa3cc720a7399
7
+ data.tar.gz: b972e36c75bb0b1c3bc5f21ef9977d5d9f93e595dfaef6905bd59f458079b9b4f7fb6e5068e35fd6b1aaa6e4e63740c62609db68c89bb87a0353bddf1c702721
@@ -16,7 +16,6 @@ jobs:
16
16
  - rails6.0
17
17
  - rails6.1
18
18
  ruby:
19
- - 2.5
20
19
  - 2.6
21
20
  - 2.7
22
21
  - 3.0
data/.rubocop.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  AllCops:
2
- TargetRubyVersion: 2.5
2
+ TargetRubyVersion: 2.6
3
3
  Include:
4
4
  - 'lib/**/*.rb'
5
5
  - 'spec/**/*.rb'
data/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ### 1.7.0
2
+
3
+ Add ability to track additional info in tokens (Marcelo Silveira)
4
+
5
+ Remove Ruby 2.5 support
6
+
1
7
  ### 1.6.0
2
8
 
3
9
  Add Rails 6.1 support
@@ -8,7 +14,6 @@ Remove Rails 4.2 support
8
14
 
9
15
  Remove Ruby 2.4 support
10
16
 
11
-
12
17
  ### 1.5.0
13
18
 
14
19
  Add Rails 6 support
@@ -12,12 +12,17 @@ module Tiddle
12
12
  self.maximum_tokens_per_user = maximum_tokens_per_user
13
13
  end
14
14
 
15
- def create_and_return_token(resource, request, expires_in: nil)
15
+ def create_and_return_token(resource, request, expires_in: nil, metadata: {})
16
16
  token_class = authentication_token_class(resource)
17
17
  token, token_body = Devise.token_generator.generate(token_class, :body)
18
18
 
19
19
  resource.authentication_tokens.create!(
20
- token_attributes(token_body, request, expires_in)
20
+ token_attributes(
21
+ token_body: token_body,
22
+ request: request,
23
+ expires_in: expires_in,
24
+ metadata: metadata
25
+ )
21
26
  )
22
27
 
23
28
  token
@@ -56,13 +61,13 @@ module Tiddle
56
61
  end
57
62
  end
58
63
 
59
- def token_attributes(token_body, request, expires_in)
64
+ def token_attributes(token_body:, request:, expires_in:, metadata: {})
60
65
  attributes = {
61
66
  body: token_body,
62
67
  last_used_at: Time.current,
63
68
  ip_address: request.remote_ip,
64
69
  user_agent: request.user_agent
65
- }
70
+ }.merge(metadata)
66
71
 
67
72
  if expires_in
68
73
  attributes.merge(expires_in: expires_in)
@@ -1,3 +1,3 @@
1
1
  module Tiddle
2
- VERSION = "1.6.0".freeze
2
+ VERSION = "1.7.0".freeze
3
3
  end
@@ -55,6 +55,7 @@ class CreateTables < ActiveRecord::Migration[4.2]
55
55
  t.integer :expires_in, null: false, default: 0
56
56
  t.string :ip_address
57
57
  t.string :user_agent
58
+ t.string :metadata_attr1
58
59
 
59
60
  t.timestamps null: false
60
61
  end
@@ -8,4 +8,5 @@ class AuthenticationToken
8
8
  field :ip_address, type: String
9
9
  field :user_agent, type: String
10
10
  field :expires_in, type: Integer, default: 0
11
+ field :metadata_attr1, type: String
11
12
  end
@@ -5,7 +5,7 @@ class User
5
5
  :registerable,
6
6
  :recoverable,
7
7
  :trackable,
8
- #:validatable Triggers callback to will_save_change_to_email?, fails with mongoid
8
+ :validatable,
9
9
  :token_authenticatable
10
10
 
11
11
  has_many :authentication_tokens
data/spec/tiddle_spec.rb CHANGED
@@ -38,6 +38,11 @@ describe Tiddle do
38
38
  FakeRequest.new(user_agent: "Internet Explorer 4.0")
39
39
  expect(@user.authentication_tokens.last.user_agent).to eq "Internet Explorer 4.0"
40
40
  end
41
+
42
+ it "saves additional metadata" do
43
+ Tiddle.create_and_return_token @user, FakeRequest.new, metadata: { metadata_attr1: "abc" }
44
+ expect(@user.authentication_tokens.last.metadata_attr1).to eq "abc"
45
+ end
41
46
  end
42
47
 
43
48
  describe "find_token" do
data/tiddle.gemspec CHANGED
@@ -16,7 +16,7 @@ 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 = '>= 2.5.0'
19
+ spec.required_ruby_version = '>= 2.6.0'
20
20
 
21
21
  spec.add_dependency "devise", ">= 4.0.0.rc1", "< 5"
22
22
  spec.add_dependency "activerecord", ">= 5.2.0"
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.6.0
4
+ version: 1.7.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: 2021-04-12 00:00:00.000000000 Z
11
+ date: 2021-09-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: devise
@@ -213,7 +213,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
213
213
  requirements:
214
214
  - - ">="
215
215
  - !ruby/object:Gem::Version
216
- version: 2.5.0
216
+ version: 2.6.0
217
217
  required_rubygems_version: !ruby/object:Gem::Requirement
218
218
  requirements:
219
219
  - - ">="