tanshuku 3.0.4 → 4.0.1

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: e58c92fe21d3bbe02cee1eb98952988e5cc8085b4906fdf48d9b8a12215be0eb
4
- data.tar.gz: 2645ea149d69d67edd67eb3a3740493337becfcbbb7d1a89290f5bf507694ec6
3
+ metadata.gz: ceb5303a7a452e3b70b9d8c1873b627096804691a11388d59a7e79ed19192111
4
+ data.tar.gz: 52d0b5ecb461972537aaa8998d60306a76f85327a8fa72f400fa7376e9fa2877
5
5
  SHA512:
6
- metadata.gz: 3de0f694c17bffe64fcb1e325db169e3b7ace075b670d4b5daf8ea1ee3cc56ce65d912f82d8188a53ac2a8222e87acabfcef24ebb76dfa63fae111d77336e16c
7
- data.tar.gz: d04042eaa513ef56a4978b1f38c863e780634798aee69f4d13e6cd8a383957e5e5fe258fe6fb544f1a280854863809af9c2bfcad5124ed9a63476e9fea45c92b
6
+ metadata.gz: 5e1906a0852e7e982473a38fce39d49fc0ca8673e39ba17b906afe0bec0e27691f0e62e7f4a755507c4431d0baf9862cca089134ffab8cd3dca714df02af5b9e
7
+ data.tar.gz: 9971952c5f6f59e62a8b0a1773297b224447fcf52abdd55ba28a1b64b8a3396bf01e848bf30107e5a1e4f24e1d808ffb06f421ea08acf1d673667dd42ae59d13
@@ -167,6 +167,10 @@ module Tanshuku
167
167
  # @param url_options [Hash] An option for Rails’ +url_for+.
168
168
  #
169
169
  # @return [String] A shortened URL.
170
+ #
171
+ # @note
172
+ # In Rails 8.0 or later, this method loads the routes before calling +url_for+ as Tanshuku depends on them.
173
+ # cf. https://github.com/rails/rails/pull/52353
170
174
  def shortened_url(url_options = {})
171
175
  url_options = url_options.symbolize_keys
172
176
  url_options[:controller] = "tanshuku/urls"
@@ -175,6 +179,25 @@ module Tanshuku
175
179
 
176
180
  Tanshuku::Engine.routes.url_for(url_options)
177
181
  end
182
+
183
+ case Gem::Version.new(Rails.version)
184
+ when "7.0"..."8.0"
185
+ # Don’t define `#shortened_url` in this branch because YARD doesn’t recognize the method.
186
+ else
187
+ # Overwrite the `#shortened_url` in Rails 8.0 or later.
188
+ # rubocop:disable Lint/DuplicateMethods
189
+ def shortened_url(url_options = {})
190
+ Rails.application.reload_routes_unless_loaded
191
+
192
+ url_options = url_options.symbolize_keys
193
+ url_options[:controller] = "tanshuku/urls"
194
+ url_options[:action] = :show
195
+ url_options[:key] = key
196
+
197
+ Tanshuku::Engine.routes.url_for(url_options)
198
+ end
199
+ # rubocop:enable Lint/DuplicateMethods
200
+ end
178
201
  end
179
202
  # rubocop:enable Rails/ApplicationRecord
180
203
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Tanshuku
4
- VERSION = "3.0.4"
4
+ VERSION = "4.0.1"
5
5
  end
metadata CHANGED
@@ -1,11 +1,10 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tanshuku
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.4
4
+ version: 4.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - kg8m
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
10
  date: 2024-12-28 00:00:00.000000000 Z
@@ -31,9 +30,6 @@ dependencies:
31
30
  - - ">="
32
31
  - !ruby/object:Gem::Version
33
32
  version: '7.0'
34
- - - "<"
35
- - !ruby/object:Gem::Version
36
- version: '8.0'
37
33
  type: :runtime
38
34
  prerelease: false
39
35
  version_requirements: !ruby/object:Gem::Requirement
@@ -41,9 +37,6 @@ dependencies:
41
37
  - - ">="
42
38
  - !ruby/object:Gem::Version
43
39
  version: '7.0'
44
- - - "<"
45
- - !ruby/object:Gem::Version
46
- version: '8.0'
47
40
  description: Tanshuku is a simple and performance aware Rails engine for shortening
48
41
  URLs. Tanshuku generates a shortened URL per a normalized original URL. Tanshuku
49
42
  redirects from a shortened URL to its corresponding original URL.
@@ -86,7 +79,6 @@ metadata:
86
79
  changelog_uri: https://github.com/kg8m/tanshuku/releases
87
80
  documentation_uri: https://kg8m.github.io/tanshuku/
88
81
  rubygems_mfa_required: 'true'
89
- post_install_message:
90
82
  rdoc_options: []
91
83
  require_paths:
92
84
  - lib
@@ -94,18 +86,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
94
86
  requirements:
95
87
  - - ">="
96
88
  - !ruby/object:Gem::Version
97
- version: '3.1'
98
- - - "<"
99
- - !ruby/object:Gem::Version
100
- version: '3.4'
89
+ version: '3.2'
101
90
  required_rubygems_version: !ruby/object:Gem::Requirement
102
91
  requirements:
103
92
  - - ">="
104
93
  - !ruby/object:Gem::Version
105
94
  version: '0'
106
95
  requirements: []
107
- rubygems_version: 3.5.22
108
- signing_key:
96
+ rubygems_version: 3.6.2
109
97
  specification_version: 4
110
98
  summary: Tanshuku is a simple and performance aware Rails engine for shortening URLs.
111
99
  test_files: []