tanshuku 0.0.7 → 0.0.8

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: 38d3ba69ba0a6432273e4fee3756e8d076e3bdbc72bcc46da8a94f5265b25fc1
4
- data.tar.gz: 70c68e951bdf934317bec5ab150e439eaf4998bc4dfb5e55c6c4632ce0d80cdf
3
+ metadata.gz: c4b9a3b20b2baf4c09ad35c5e10d00419ec7e3492f885b3cceb9cc129355f722
4
+ data.tar.gz: f66396318dcb615cef25136c8e6206cf3b857ea4907cb0fb45f1195f4e53caf5
5
5
  SHA512:
6
- metadata.gz: ae0b395952fb40de5d9afa799f61673f908ed3b72e31fb91804be8b9c9b804eaf9cc8d4d00680b9db27280b040879c920f15f54be8dd037dc5207761c12972f4
7
- data.tar.gz: 60c89143f88f3bccaa7a3197ba5ff4231d8ac57021beef2ee913c853c7440efa9a89d8b0e8dc1393b8d5c19e8f388449f8149aeed3af3777057d88b63856f20f
6
+ metadata.gz: 02f976e4e5b3d24cbdb867eba134387f74b4050b65238d26a2307308b12ce55413fbe42fe95bfff68e3b25deca790eed20852ee50ea2069be2cbd0c8430aab38
7
+ data.tar.gz: efaf9a395bab9c57a3cb985cc93f699c5f5c39dd8c776d23ebae71531b2a398044dd1c15c452bbbdeb988961b492179aa6fc821910dd71a65d03197182f0e80f
@@ -23,12 +23,14 @@ module Tanshuku
23
23
  def self.shorten(original_url, retries: 0)
24
24
  url = normalize_url(original_url)
25
25
 
26
- record =
27
- create_or_find_by!(hashed_url: hash_url(url)) do |r|
28
- r.attributes = { url:, key: generate_key }
29
- end
26
+ transaction do
27
+ record =
28
+ create_or_find_by!(hashed_url: hash_url(url)) do |r|
29
+ r.attributes = { url:, key: generate_key }
30
+ end
30
31
 
31
- record.shortened_url
32
+ record.shortened_url
33
+ end
32
34
  rescue ActiveRecord::RecordNotUnique => e
33
35
  if retries < 10
34
36
  shorten(url, retries: retries + 1)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Tanshuku
4
- VERSION = "0.0.7"
4
+ VERSION = "0.0.8"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tanshuku
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - kg8m
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-02-22 00:00:00.000000000 Z
11
+ date: 2023-02-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable