ruby_magic_link 1.0.1 → 1.0.3

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: 265ece5de19cf999679f6006cc8aa2ac2df56284c55e50acc44825d0ffa013fc
4
- data.tar.gz: bf4848c3854c3fda2fa7858ddc79b7fdb39e36896548a580bc6fa51774d16160
3
+ metadata.gz: 7284911f3d486464ceb21718d970f009fbd5a881a88056fd38e6285faaaa39fc
4
+ data.tar.gz: cc11dddfe2d53314106cba1e795854a6f1211e8455245940afcdc48a6287f129
5
5
  SHA512:
6
- metadata.gz: 95c41caf541fa90039f2231b994723d4d48ddba1aab9eb26bb4b2f09e0502997cf710d3e777fe89d423f5f572b3c66809c93604a0c66acfdb9bce2b81f91d137
7
- data.tar.gz: c4eaa959ba5d81dda9db387f53131924f7089c00c58e11b7e402f23d5860bb8c8ad41460552dd393192d3f459264ec16271fb45fd74cc033c1ae0275131ee9b4
6
+ metadata.gz: aebf8ba72618445d8f944006d72b8178046918fce19a3dfe584d35fed2f8ac94d8fccf84edce51116db916c3202c40c2783b49e101d72f27d29b36c2f2f3bd73
7
+ data.tar.gz: 9c5ca58171f91e22d231b313e399b4799e613a6558168b5b80656dbc4e68884d73ab274fcbe5fea98e9922a8d45c035c3906209ed03dbb8156e14399b50ed07d
data/README.md CHANGED
@@ -1,3 +1,4 @@
1
+ [![Gem Version](https://badge.fury.io/rb/ruby_magic_link.svg)](https://badge.fury.io/rb/ruby_magic_link)
1
2
  ![CI](https://github.com/igorkorepanov/ruby_magic_link/actions/workflows/main.yml/badge.svg)
2
3
 
3
4
  # RubyMagicLink
@@ -13,7 +13,11 @@ module RubyMagicLink
13
13
 
14
14
  def create(payload, expires_in: nil)
15
15
  data = { payload: payload }
16
- data[:expires_in] = Time.now.to_i + expires_in if expires_in
16
+ if expires_in
17
+ raise(StandardError, '`expires_at` must be an Integer') unless expires_in.is_a? Integer
18
+
19
+ data[:expires_in] = Time.now.to_i + expires_in
20
+ end
17
21
  iv = OpenSSL::Random.random_bytes(16)
18
22
  encrypted_data = encrypt(JSON.generate(data), RubyMagicLink.config.secret_key, iv)
19
23
  Base64.urlsafe_encode64(Base64.urlsafe_encode64(iv) + DELIMITER + encrypted_data)
@@ -23,8 +27,8 @@ module RubyMagicLink
23
27
  RubyMagicLink::TokenObject.new(data)
24
28
  end
25
29
 
26
- def decode_token(data)
27
- raw_iv, data = Base64.urlsafe_decode64(data).split(DELIMITER, 2)
30
+ def decode_token(token)
31
+ raw_iv, data = Base64.urlsafe_decode64(token).split(DELIMITER, 2)
28
32
  JSON.parse(decrypt(data, RubyMagicLink.config.secret_key, Base64.urlsafe_decode64(raw_iv)))
29
33
  end
30
34
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RubyMagicLink
4
- VERSION = '1.0.1'
4
+ VERSION = '1.0.3'
5
5
  end
metadata CHANGED
@@ -1,17 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby_magic_link
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Igor Korepanov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-02-08 00:00:00.000000000 Z
11
+ date: 2024-02-17 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Magic links for ruby web applications
14
- email: noemail@example.com
14
+ email: korepanovigor87@gmail.com
15
15
  executables: []
16
16
  extensions: []
17
17
  extra_rdoc_files: []