ruby_magic_link 1.0.1 → 1.0.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: 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: []