tanshuku 0.0.20 → 2.0.0
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 +4 -4
- data/README.md +2 -2
- data/app/models/tanshuku/url.rb +8 -8
- data/db/migrate/20230220123456_create_tanshuku_urls.rb +1 -1
- data/lib/generators/tanshuku/install_generator.rb +1 -2
- data/lib/tanshuku/configuration.rb +2 -18
- data/lib/tanshuku/version.rb +1 -1
- data/lib/tanshuku.rb +2 -2
- data/lib/tasks/check_all.rb +2 -2
- metadata +15 -18
- data/Steepfile +0 -7
- data/rbs_collection.lock.yaml +0 -230
- data/rbs_collection.yaml +0 -19
- data/sig/app/controllers/tanshuku/urls_controller.rbs +0 -5
- data/sig/app/models/tanshuku/url.rbs +0 -114
- data/sig/db/migrate/create_tanshuku_urls.rbs +0 -2
- data/sig/lib/generators/tanshuku/install_generator.rbs +0 -4
- data/sig/lib/tanshuku/configuration.rbs +0 -42
- data/sig/lib/tanshuku/engine.rbs +0 -4
- data/sig/lib/tanshuku/version.rbs +0 -3
- data/sig/lib/tanshuku.rbs +0 -6
- data/sig/lib/tasks/check_all.rbs +0 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 12ed0c4f9a99b9b6e2c988a8fe327cc491420b9586c3128dd6e2493f46819b0a
|
4
|
+
data.tar.gz: a566c0f82f98f54301b3ab91ce23dc09629ba2e5de79970b06b62ac13d54cf10
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 28d39d2e039b8916441f4bca51c130374002c416d9afd08836166ea354370bbe341be9df7b552e023e5f03c6abc08071493434b3bbb62df862391c55d7f82349
|
7
|
+
data.tar.gz: 0c7e3337b95a5e647e8cd44d2a61df7070ac9897537d047dd10aaff243cd227f3622e68f549152bfc94eaa9f6e34bd6732185fc4812c749e477550bc0ca6303b
|
data/README.md
CHANGED
@@ -65,7 +65,7 @@ The following example means that an exception and a URL will be reported to [Sen
|
|
65
65
|
Tanshuku.configure do |config|
|
66
66
|
config.exception_reporter =
|
67
67
|
lambda { |exception:, original_url:|
|
68
|
-
Sentry.capture_exception(exception, tags: { original_url: })
|
68
|
+
Sentry.capture_exception(exception, tags: { original_url: original_url })
|
69
69
|
}
|
70
70
|
end
|
71
71
|
```
|
@@ -180,7 +180,7 @@ A. Does Tanshuku have some missing features? Please [create an issue](https://gi
|
|
180
180
|
|
181
181
|
1. Fork this repository
|
182
182
|
1. `git clone` your fork
|
183
|
-
1. `bundle install`
|
183
|
+
1. `bundle install`
|
184
184
|
1. Update sources
|
185
185
|
1. `rake`
|
186
186
|
1. Fix `rake` errors if `rake` fails
|
data/app/models/tanshuku/url.rb
CHANGED
@@ -82,8 +82,8 @@ module Tanshuku
|
|
82
82
|
begin
|
83
83
|
transaction do
|
84
84
|
record =
|
85
|
-
create_or_find_by!(hashed_url: hash_url(url, namespace:)) do |r|
|
86
|
-
r.attributes = { url
|
85
|
+
create_or_find_by!(hashed_url: hash_url(url, namespace: namespace)) do |r|
|
86
|
+
r.attributes = { url: url, key: generate_key }
|
87
87
|
end
|
88
88
|
|
89
89
|
record.shortened_url(url_options)
|
@@ -94,12 +94,12 @@ module Tanshuku
|
|
94
94
|
retries += 1
|
95
95
|
retry
|
96
96
|
else
|
97
|
-
report_exception(exception: e, original_url:)
|
97
|
+
report_exception(exception: e, original_url: original_url)
|
98
98
|
original_url
|
99
99
|
end
|
100
100
|
end
|
101
101
|
rescue StandardError => e
|
102
|
-
report_exception(exception: e, original_url:)
|
102
|
+
report_exception(exception: e, original_url: original_url)
|
103
103
|
original_url
|
104
104
|
end
|
105
105
|
|
@@ -112,9 +112,9 @@ module Tanshuku
|
|
112
112
|
# @return [nil] +nil+ unless found.
|
113
113
|
def self.find_by_url(url, namespace: DEFAULT_NAMESPACE)
|
114
114
|
normalized_url = normalize_url(url)
|
115
|
-
hashed_url = hash_url(normalized_url, namespace:)
|
115
|
+
hashed_url = hash_url(normalized_url, namespace: namespace)
|
116
116
|
|
117
|
-
find_by(hashed_url:)
|
117
|
+
find_by(hashed_url: hashed_url)
|
118
118
|
end
|
119
119
|
|
120
120
|
# Normalizes a URL. Adds or removes a trailing slash, removes +?+ for an empty query, and so on. And sorts query
|
@@ -138,7 +138,7 @@ module Tanshuku
|
|
138
138
|
#
|
139
139
|
# @return [String] Depends on your {Tanshuku::Configuration#url_hasher} configuration.
|
140
140
|
def self.hash_url(url, namespace: DEFAULT_NAMESPACE)
|
141
|
-
Tanshuku.config.url_hasher.call(url, namespace:)
|
141
|
+
Tanshuku.config.url_hasher.call(url, namespace: namespace)
|
142
142
|
end
|
143
143
|
|
144
144
|
# Generates a unique key for a shortened URL.
|
@@ -159,7 +159,7 @@ module Tanshuku
|
|
159
159
|
#
|
160
160
|
# @return [void] Depends on your {Tanshuku::Configuration#exception_reporter} configuration.
|
161
161
|
def self.report_exception(exception:, original_url:)
|
162
|
-
Tanshuku.config.exception_reporter.call(exception
|
162
|
+
Tanshuku.config.exception_reporter.call(exception: exception, original_url: original_url)
|
163
163
|
end
|
164
164
|
|
165
165
|
# The record’s shortened URL.
|
@@ -7,8 +7,7 @@ module Tanshuku
|
|
7
7
|
#
|
8
8
|
# @api private
|
9
9
|
class InstallGenerator < Rails::Generators::Base
|
10
|
-
|
11
|
-
source_root File.expand_path("../templates", _ = __dir__)
|
10
|
+
source_root File.expand_path("../templates", __dir__)
|
12
11
|
|
13
12
|
# Generates a configuration file +config/initializers/tanshuku.rb+.
|
14
13
|
#
|
@@ -43,22 +43,6 @@ module Tanshuku
|
|
43
43
|
end
|
44
44
|
|
45
45
|
include ActiveModel::Attributes
|
46
|
-
|
47
|
-
# @!attribute [rw] default_url_options
|
48
|
-
# Default URL options for Rails’ +url_for+. Defaults to +{}+.
|
49
|
-
#
|
50
|
-
# @return [Hash]
|
51
|
-
# @return [void] If you set an invalid object.
|
52
|
-
#
|
53
|
-
# @note
|
54
|
-
# The example below means that the configured host and protocol are used. Shortened URLs will be like
|
55
|
-
# +https://example.com/t/abcdefghij0123456789+.
|
56
|
-
#
|
57
|
-
# @example
|
58
|
-
# # config/initializers/tanshuku.rb
|
59
|
-
# Tanshuku.configure do |config|
|
60
|
-
# config.default_url_options = { host: "example.com", protocol: :https }
|
61
|
-
# end
|
62
46
|
attribute :default_url_options, default: {}
|
63
47
|
|
64
48
|
# @!attribute [rw] max_url_length
|
@@ -166,12 +150,12 @@ module Tanshuku
|
|
166
150
|
# Tanshuku.configure do |config|
|
167
151
|
# config.exception_reporter =
|
168
152
|
# lambda { |exception:, original_url:|
|
169
|
-
# Sentry.capture_exception(exception, tags: { original_url: })
|
153
|
+
# Sentry.capture_exception(exception, tags: { original_url: original_url })
|
170
154
|
# }
|
171
155
|
# end
|
172
156
|
attribute :exception_reporter, default: DefaultExceptionReporter
|
173
157
|
|
174
|
-
def initialize(
|
158
|
+
def initialize(*args)
|
175
159
|
super
|
176
160
|
@mutex = Mutex.new
|
177
161
|
end
|
data/lib/tanshuku/version.rb
CHANGED
data/lib/tanshuku.rb
CHANGED
data/lib/tasks/check_all.rb
CHANGED
@@ -6,7 +6,7 @@ require "paint"
|
|
6
6
|
require "pty"
|
7
7
|
|
8
8
|
class CheckAll
|
9
|
-
TASKNAMES = %i[rubocop spec
|
9
|
+
TASKNAMES = %i[rubocop spec yard:check].freeze
|
10
10
|
LINE = Paint["-" * (IO.console or raise).winsize[1], :bold]
|
11
11
|
TITLE_TEMPLATE = Paint["\n#{LINE}\nExecute: %<command>s\n#{LINE}\n\n", :bold]
|
12
12
|
|
@@ -32,7 +32,7 @@ class CheckAll
|
|
32
32
|
command = "bundle exec rake #{taskname}"
|
33
33
|
|
34
34
|
outputs = []
|
35
|
-
outputs << format(TITLE_TEMPLATE, command:)
|
35
|
+
outputs << format(TITLE_TEMPLATE, command: command)
|
36
36
|
|
37
37
|
# Use `PTY.spawn` to get colorized outputs of each command.
|
38
38
|
PTY.spawn(command) do |reader, writer, pid|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tanshuku
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- kg8m
|
@@ -16,28 +16,34 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 2.4
|
19
|
+
version: '2.4'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 2.4
|
26
|
+
version: '2.4'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rails
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: '6.0'
|
34
|
+
- - "<"
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: '7.0'
|
34
37
|
type: :runtime
|
35
38
|
prerelease: false
|
36
39
|
version_requirements: !ruby/object:Gem::Requirement
|
37
40
|
requirements:
|
38
41
|
- - ">="
|
39
42
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
43
|
+
version: '6.0'
|
44
|
+
- - "<"
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '7.0'
|
41
47
|
description: Tanshuku is a simple and performance aware Rails engine for shortening
|
42
48
|
URLs. Tanshuku generates a shortened URL per a normalized original URL. Tanshuku
|
43
49
|
redirects from a shortened URL to its corresponding original URL.
|
@@ -49,7 +55,6 @@ extra_rdoc_files: []
|
|
49
55
|
files:
|
50
56
|
- LICENSE
|
51
57
|
- README.md
|
52
|
-
- Steepfile
|
53
58
|
- app/controllers/tanshuku/urls_controller.rb
|
54
59
|
- app/models/tanshuku/url.rb
|
55
60
|
- config/locales/en.yml
|
@@ -63,17 +68,6 @@ files:
|
|
63
68
|
- lib/tanshuku/engine.rb
|
64
69
|
- lib/tanshuku/version.rb
|
65
70
|
- lib/tasks/check_all.rb
|
66
|
-
- rbs_collection.lock.yaml
|
67
|
-
- rbs_collection.yaml
|
68
|
-
- sig/app/controllers/tanshuku/urls_controller.rbs
|
69
|
-
- sig/app/models/tanshuku/url.rbs
|
70
|
-
- sig/db/migrate/create_tanshuku_urls.rbs
|
71
|
-
- sig/lib/generators/tanshuku/install_generator.rbs
|
72
|
-
- sig/lib/tanshuku.rbs
|
73
|
-
- sig/lib/tanshuku/configuration.rbs
|
74
|
-
- sig/lib/tanshuku/engine.rbs
|
75
|
-
- sig/lib/tanshuku/version.rbs
|
76
|
-
- sig/lib/tasks/check_all.rbs
|
77
71
|
homepage: https://github.com/kg8m/tanshuku
|
78
72
|
licenses:
|
79
73
|
- MIT
|
@@ -90,6 +84,9 @@ require_paths:
|
|
90
84
|
required_ruby_version: !ruby/object:Gem::Requirement
|
91
85
|
requirements:
|
92
86
|
- - ">="
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: '3.0'
|
89
|
+
- - "<"
|
93
90
|
- !ruby/object:Gem::Version
|
94
91
|
version: '3.1'
|
95
92
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
@@ -98,7 +95,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
98
95
|
- !ruby/object:Gem::Version
|
99
96
|
version: '0'
|
100
97
|
requirements: []
|
101
|
-
rubygems_version: 3.
|
98
|
+
rubygems_version: 3.2.33
|
102
99
|
signing_key:
|
103
100
|
specification_version: 4
|
104
101
|
summary: Tanshuku is a simple and performance aware Rails engine for shortening URLs.
|
data/Steepfile
DELETED
data/rbs_collection.lock.yaml
DELETED
@@ -1,230 +0,0 @@
|
|
1
|
-
---
|
2
|
-
sources:
|
3
|
-
- type: git
|
4
|
-
name: ruby/gem_rbs_collection
|
5
|
-
revision: 8149bc3fc0f720d935dc0592dc8886e03052f65f
|
6
|
-
remote: https://github.com/ruby/gem_rbs_collection.git
|
7
|
-
repo_dir: gems
|
8
|
-
path: ".gem_rbs_collection"
|
9
|
-
gems:
|
10
|
-
- name: actionmailer
|
11
|
-
version: '7.0'
|
12
|
-
source:
|
13
|
-
type: git
|
14
|
-
name: ruby/gem_rbs_collection
|
15
|
-
revision: 8149bc3fc0f720d935dc0592dc8886e03052f65f
|
16
|
-
remote: https://github.com/ruby/gem_rbs_collection.git
|
17
|
-
repo_dir: gems
|
18
|
-
- name: actionpack
|
19
|
-
version: '6.0'
|
20
|
-
source:
|
21
|
-
type: git
|
22
|
-
name: ruby/gem_rbs_collection
|
23
|
-
revision: 8149bc3fc0f720d935dc0592dc8886e03052f65f
|
24
|
-
remote: https://github.com/ruby/gem_rbs_collection.git
|
25
|
-
repo_dir: gems
|
26
|
-
- name: actionview
|
27
|
-
version: '6.0'
|
28
|
-
source:
|
29
|
-
type: git
|
30
|
-
name: ruby/gem_rbs_collection
|
31
|
-
revision: 8149bc3fc0f720d935dc0592dc8886e03052f65f
|
32
|
-
remote: https://github.com/ruby/gem_rbs_collection.git
|
33
|
-
repo_dir: gems
|
34
|
-
- name: activejob
|
35
|
-
version: '6.0'
|
36
|
-
source:
|
37
|
-
type: git
|
38
|
-
name: ruby/gem_rbs_collection
|
39
|
-
revision: 8149bc3fc0f720d935dc0592dc8886e03052f65f
|
40
|
-
remote: https://github.com/ruby/gem_rbs_collection.git
|
41
|
-
repo_dir: gems
|
42
|
-
- name: activemodel
|
43
|
-
version: '7.0'
|
44
|
-
source:
|
45
|
-
type: git
|
46
|
-
name: ruby/gem_rbs_collection
|
47
|
-
revision: 8149bc3fc0f720d935dc0592dc8886e03052f65f
|
48
|
-
remote: https://github.com/ruby/gem_rbs_collection.git
|
49
|
-
repo_dir: gems
|
50
|
-
- name: activerecord
|
51
|
-
version: '7.0'
|
52
|
-
source:
|
53
|
-
type: git
|
54
|
-
name: ruby/gem_rbs_collection
|
55
|
-
revision: 8149bc3fc0f720d935dc0592dc8886e03052f65f
|
56
|
-
remote: https://github.com/ruby/gem_rbs_collection.git
|
57
|
-
repo_dir: gems
|
58
|
-
- name: activestorage
|
59
|
-
version: '6.1'
|
60
|
-
source:
|
61
|
-
type: git
|
62
|
-
name: ruby/gem_rbs_collection
|
63
|
-
revision: 8149bc3fc0f720d935dc0592dc8886e03052f65f
|
64
|
-
remote: https://github.com/ruby/gem_rbs_collection.git
|
65
|
-
repo_dir: gems
|
66
|
-
- name: activesupport
|
67
|
-
version: '7.0'
|
68
|
-
source:
|
69
|
-
type: git
|
70
|
-
name: ruby/gem_rbs_collection
|
71
|
-
revision: 8149bc3fc0f720d935dc0592dc8886e03052f65f
|
72
|
-
remote: https://github.com/ruby/gem_rbs_collection.git
|
73
|
-
repo_dir: gems
|
74
|
-
- name: base64
|
75
|
-
version: '0'
|
76
|
-
source:
|
77
|
-
type: stdlib
|
78
|
-
- name: bigdecimal
|
79
|
-
version: '0'
|
80
|
-
source:
|
81
|
-
type: stdlib
|
82
|
-
- name: cgi
|
83
|
-
version: '0'
|
84
|
-
source:
|
85
|
-
type: stdlib
|
86
|
-
- name: concurrent-ruby
|
87
|
-
version: '1.1'
|
88
|
-
source:
|
89
|
-
type: git
|
90
|
-
name: ruby/gem_rbs_collection
|
91
|
-
revision: 8149bc3fc0f720d935dc0592dc8886e03052f65f
|
92
|
-
remote: https://github.com/ruby/gem_rbs_collection.git
|
93
|
-
repo_dir: gems
|
94
|
-
- name: connection_pool
|
95
|
-
version: '2.4'
|
96
|
-
source:
|
97
|
-
type: git
|
98
|
-
name: ruby/gem_rbs_collection
|
99
|
-
revision: 8149bc3fc0f720d935dc0592dc8886e03052f65f
|
100
|
-
remote: https://github.com/ruby/gem_rbs_collection.git
|
101
|
-
repo_dir: gems
|
102
|
-
- name: date
|
103
|
-
version: '0'
|
104
|
-
source:
|
105
|
-
type: stdlib
|
106
|
-
- name: digest
|
107
|
-
version: '0'
|
108
|
-
source:
|
109
|
-
type: stdlib
|
110
|
-
- name: erb
|
111
|
-
version: '0'
|
112
|
-
source:
|
113
|
-
type: stdlib
|
114
|
-
- name: globalid
|
115
|
-
version: '1.1'
|
116
|
-
source:
|
117
|
-
type: git
|
118
|
-
name: ruby/gem_rbs_collection
|
119
|
-
revision: 8149bc3fc0f720d935dc0592dc8886e03052f65f
|
120
|
-
remote: https://github.com/ruby/gem_rbs_collection.git
|
121
|
-
repo_dir: gems
|
122
|
-
- name: i18n
|
123
|
-
version: '1.10'
|
124
|
-
source:
|
125
|
-
type: git
|
126
|
-
name: ruby/gem_rbs_collection
|
127
|
-
revision: 8149bc3fc0f720d935dc0592dc8886e03052f65f
|
128
|
-
remote: https://github.com/ruby/gem_rbs_collection.git
|
129
|
-
repo_dir: gems
|
130
|
-
- name: io-console
|
131
|
-
version: '0'
|
132
|
-
source:
|
133
|
-
type: stdlib
|
134
|
-
- name: logger
|
135
|
-
version: '0'
|
136
|
-
source:
|
137
|
-
type: stdlib
|
138
|
-
- name: mail
|
139
|
-
version: '2.8'
|
140
|
-
source:
|
141
|
-
type: git
|
142
|
-
name: ruby/gem_rbs_collection
|
143
|
-
revision: 8149bc3fc0f720d935dc0592dc8886e03052f65f
|
144
|
-
remote: https://github.com/ruby/gem_rbs_collection.git
|
145
|
-
repo_dir: gems
|
146
|
-
- name: minitest
|
147
|
-
version: '0'
|
148
|
-
source:
|
149
|
-
type: stdlib
|
150
|
-
- name: monitor
|
151
|
-
version: '0'
|
152
|
-
source:
|
153
|
-
type: stdlib
|
154
|
-
- name: mutex_m
|
155
|
-
version: '0'
|
156
|
-
source:
|
157
|
-
type: stdlib
|
158
|
-
- name: nokogiri
|
159
|
-
version: '1.11'
|
160
|
-
source:
|
161
|
-
type: git
|
162
|
-
name: ruby/gem_rbs_collection
|
163
|
-
revision: 8149bc3fc0f720d935dc0592dc8886e03052f65f
|
164
|
-
remote: https://github.com/ruby/gem_rbs_collection.git
|
165
|
-
repo_dir: gems
|
166
|
-
- name: rack
|
167
|
-
version: '2.2'
|
168
|
-
source:
|
169
|
-
type: git
|
170
|
-
name: ruby/gem_rbs_collection
|
171
|
-
revision: 8149bc3fc0f720d935dc0592dc8886e03052f65f
|
172
|
-
remote: https://github.com/ruby/gem_rbs_collection.git
|
173
|
-
repo_dir: gems
|
174
|
-
- name: rails-dom-testing
|
175
|
-
version: '2.0'
|
176
|
-
source:
|
177
|
-
type: git
|
178
|
-
name: ruby/gem_rbs_collection
|
179
|
-
revision: 8149bc3fc0f720d935dc0592dc8886e03052f65f
|
180
|
-
remote: https://github.com/ruby/gem_rbs_collection.git
|
181
|
-
repo_dir: gems
|
182
|
-
- name: railties
|
183
|
-
version: '6.0'
|
184
|
-
source:
|
185
|
-
type: git
|
186
|
-
name: ruby/gem_rbs_collection
|
187
|
-
revision: 8149bc3fc0f720d935dc0592dc8886e03052f65f
|
188
|
-
remote: https://github.com/ruby/gem_rbs_collection.git
|
189
|
-
repo_dir: gems
|
190
|
-
- name: rdoc
|
191
|
-
version: '0'
|
192
|
-
source:
|
193
|
-
type: stdlib
|
194
|
-
- name: securerandom
|
195
|
-
version: '0'
|
196
|
-
source:
|
197
|
-
type: stdlib
|
198
|
-
- name: singleton
|
199
|
-
version: '0'
|
200
|
-
source:
|
201
|
-
type: stdlib
|
202
|
-
- name: tempfile
|
203
|
-
version: '0'
|
204
|
-
source:
|
205
|
-
type: stdlib
|
206
|
-
- name: thor
|
207
|
-
version: '1.2'
|
208
|
-
source:
|
209
|
-
type: git
|
210
|
-
name: ruby/gem_rbs_collection
|
211
|
-
revision: 8149bc3fc0f720d935dc0592dc8886e03052f65f
|
212
|
-
remote: https://github.com/ruby/gem_rbs_collection.git
|
213
|
-
repo_dir: gems
|
214
|
-
- name: time
|
215
|
-
version: '0'
|
216
|
-
source:
|
217
|
-
type: stdlib
|
218
|
-
- name: timeout
|
219
|
-
version: '0'
|
220
|
-
source:
|
221
|
-
type: stdlib
|
222
|
-
- name: tsort
|
223
|
-
version: '0'
|
224
|
-
source:
|
225
|
-
type: stdlib
|
226
|
-
- name: uri
|
227
|
-
version: '0'
|
228
|
-
source:
|
229
|
-
type: stdlib
|
230
|
-
gemfile_lock_path: Gemfile.lock
|
data/rbs_collection.yaml
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
sources:
|
2
|
-
- type: git
|
3
|
-
name: ruby/gem_rbs_collection
|
4
|
-
remote: https://github.com/ruby/gem_rbs_collection.git
|
5
|
-
revision: main
|
6
|
-
repo_dir: gems
|
7
|
-
|
8
|
-
path: .gem_rbs_collection
|
9
|
-
|
10
|
-
gems:
|
11
|
-
- name: rbs
|
12
|
-
ignore: true
|
13
|
-
- name: steep
|
14
|
-
ignore: true
|
15
|
-
- name: tanshuku
|
16
|
-
ignore: true
|
17
|
-
|
18
|
-
- name: digest
|
19
|
-
- name: securerandom
|
@@ -1,114 +0,0 @@
|
|
1
|
-
# cf. https://github.com/pocke/rbs_rails
|
2
|
-
module Tanshuku
|
3
|
-
class Url < ActiveRecord::Base
|
4
|
-
class ActiveRecord_Relation < ActiveRecord::Relation
|
5
|
-
include _ActiveRecord_Relation[Tanshuku::Url, Integer]
|
6
|
-
include Enumerable[Tanshuku::Url]
|
7
|
-
end
|
8
|
-
|
9
|
-
extend _ActiveRecord_Relation_ClassMethods[Tanshuku::Url, ActiveRecord_Relation, Integer]
|
10
|
-
|
11
|
-
DEFAULT_NAMESPACE: String
|
12
|
-
|
13
|
-
module GeneratedAttributeMethods
|
14
|
-
attr_accessor id (): Integer?
|
15
|
-
def id?: () -> bool
|
16
|
-
def id_changed?: () -> bool
|
17
|
-
def id_change: () -> [Integer?, Integer?]
|
18
|
-
def id_will_change!: () -> void
|
19
|
-
def id_was: () -> Integer?
|
20
|
-
def id_previously_changed?: () -> bool
|
21
|
-
def id_previous_change: () -> [Integer?, Integer?]?
|
22
|
-
def id_previously_was: () -> Integer?
|
23
|
-
def id_before_last_save: () -> Integer?
|
24
|
-
def id_change_to_be_saved: () -> [Integer?, Integer?]?
|
25
|
-
def id_in_database: () -> Integer?
|
26
|
-
def saved_change_to_id: () -> [Integer?, Integer?]?
|
27
|
-
def saved_change_to_id?: () -> bool
|
28
|
-
def will_save_change_to_id?: () -> bool
|
29
|
-
def restore_id!: () -> void
|
30
|
-
def clear_id_change: () -> void
|
31
|
-
|
32
|
-
attr_accessor url (): String?
|
33
|
-
def url?: () -> bool
|
34
|
-
def url_changed?: () -> bool
|
35
|
-
def url_change: () -> [String?, String?]
|
36
|
-
def url_will_change!: () -> void
|
37
|
-
def url_was: () -> String?
|
38
|
-
def url_previously_changed?: () -> bool
|
39
|
-
def url_previous_change: () -> [String?, String?]?
|
40
|
-
def url_previously_was: () -> String?
|
41
|
-
def url_before_last_save: () -> String?
|
42
|
-
def url_change_to_be_saved: () -> [String?, String?]?
|
43
|
-
def url_in_database: () -> String?
|
44
|
-
def saved_change_to_url: () -> [String?, String?]?
|
45
|
-
def saved_change_to_url?: () -> bool
|
46
|
-
def will_save_change_to_url?: () -> bool
|
47
|
-
def restore_url!: () -> void
|
48
|
-
def clear_url_change: () -> void
|
49
|
-
|
50
|
-
attr_accessor hashed_url (): String?
|
51
|
-
def hashed_url?: () -> bool
|
52
|
-
def hashed_url_changed?: () -> bool
|
53
|
-
def hashed_url_change: () -> [String?, String?]
|
54
|
-
def hashed_url_will_change!: () -> void
|
55
|
-
def hashed_url_was: () -> String?
|
56
|
-
def hashed_url_previously_changed?: () -> bool
|
57
|
-
def hashed_url_previous_change: () -> [String?, String?]?
|
58
|
-
def hashed_url_previously_was: () -> String?
|
59
|
-
def hashed_url_before_last_save: () -> String?
|
60
|
-
def hashed_url_change_to_be_saved: () -> [String?, String?]?
|
61
|
-
def hashed_url_in_database: () -> String?
|
62
|
-
def saved_change_to_hashed_url: () -> [String?, String?]?
|
63
|
-
def saved_change_to_hashed_url?: () -> bool
|
64
|
-
def will_save_change_to_hashed_url?: () -> bool
|
65
|
-
def restore_hashed_url!: () -> void
|
66
|
-
def clear_hashed_url_change: () -> void
|
67
|
-
|
68
|
-
attr_accessor key (): String?
|
69
|
-
def key?: () -> bool
|
70
|
-
def key_changed?: () -> bool
|
71
|
-
def key_change: () -> [String?, String?]
|
72
|
-
def key_will_change!: () -> void
|
73
|
-
def key_was: () -> String?
|
74
|
-
def key_previously_changed?: () -> bool
|
75
|
-
def key_previous_change: () -> [String?, String?]?
|
76
|
-
def key_previously_was: () -> String?
|
77
|
-
def key_before_last_save: () -> String?
|
78
|
-
def key_change_to_be_saved: () -> [String?, String?]?
|
79
|
-
def key_in_database: () -> String?
|
80
|
-
def saved_change_to_key: () -> [String?, String?]?
|
81
|
-
def saved_change_to_key?: () -> bool
|
82
|
-
def will_save_change_to_key?: () -> bool
|
83
|
-
def restore_key!: () -> void
|
84
|
-
def clear_key_change: () -> void
|
85
|
-
|
86
|
-
attr_accessor created_at (): ActiveSupport::TimeWithZone?
|
87
|
-
def created_at?: () -> bool
|
88
|
-
def created_at_changed?: () -> bool
|
89
|
-
def created_at_change: () -> [ActiveSupport::TimeWithZone?, ActiveSupport::TimeWithZone?]
|
90
|
-
def created_at_will_change!: () -> void
|
91
|
-
def created_at_was: () -> ActiveSupport::TimeWithZone?
|
92
|
-
def created_at_previously_changed?: () -> bool
|
93
|
-
def created_at_previous_change: () -> [ActiveSupport::TimeWithZone?, ActiveSupport::TimeWithZone?]?
|
94
|
-
def created_at_previously_was: () -> ActiveSupport::TimeWithZone?
|
95
|
-
def created_at_before_last_save: () -> ActiveSupport::TimeWithZone?
|
96
|
-
def created_at_change_to_be_saved: () -> [ActiveSupport::TimeWithZone?, ActiveSupport::TimeWithZone?]?
|
97
|
-
def created_at_in_database: () -> ActiveSupport::TimeWithZone?
|
98
|
-
def saved_change_to_created_at: () -> [ActiveSupport::TimeWithZone?, ActiveSupport::TimeWithZone?]?
|
99
|
-
def saved_change_to_created_at?: () -> bool
|
100
|
-
def will_save_change_to_created_at?: () -> bool
|
101
|
-
def restore_created_at!: () -> void
|
102
|
-
def clear_created_at_change: () -> void
|
103
|
-
end
|
104
|
-
include GeneratedAttributeMethods
|
105
|
-
|
106
|
-
def self.shorten: (String original_url, ?namespace: String, ?url_options: Hash[String | Symbol, untyped]) -> String
|
107
|
-
def self.find_by_url: (String url, ?namespace: String) -> Tanshuku::Url?
|
108
|
-
def self.normalize_url: (String url) -> String
|
109
|
-
def self.hash_url: (String url, ?namespace: String) -> String
|
110
|
-
def self.generate_key: -> String
|
111
|
-
def self.report_exception: (exception: Exception, original_url: String) -> void
|
112
|
-
def shortened_url: (?Hash[String | Symbol, untyped] url_options) -> String
|
113
|
-
end
|
114
|
-
end
|
@@ -1,42 +0,0 @@
|
|
1
|
-
module Tanshuku
|
2
|
-
class Configuration
|
3
|
-
interface _UrlHasher
|
4
|
-
def call: (String url, namespace: String) -> String
|
5
|
-
end
|
6
|
-
|
7
|
-
interface _KeyGenerator
|
8
|
-
def call: -> String
|
9
|
-
end
|
10
|
-
|
11
|
-
interface _ExceptionReporter
|
12
|
-
def call: (exception: Exception, original_url: String) -> void
|
13
|
-
end
|
14
|
-
|
15
|
-
extend ActiveModel::Attributes::ClassMethods
|
16
|
-
|
17
|
-
@mutex: Thread::Mutex
|
18
|
-
|
19
|
-
attr_accessor default_url_options (): Hash[String | Symbol, untyped]
|
20
|
-
attr_accessor max_url_length (): Integer
|
21
|
-
attr_accessor url_pattern (): Regexp
|
22
|
-
attr_accessor key_length (): Integer
|
23
|
-
attr_accessor url_hasher (): _UrlHasher
|
24
|
-
attr_accessor key_generator (): _KeyGenerator
|
25
|
-
attr_accessor exception_reporter (): _ExceptionReporter
|
26
|
-
|
27
|
-
def initialize: (*bot noname) -> void
|
28
|
-
def configure: { (Configuration) -> void } -> void
|
29
|
-
|
30
|
-
module DefaultUrlHasher
|
31
|
-
extend _UrlHasher
|
32
|
-
end
|
33
|
-
|
34
|
-
module DefaultKeyGenerator
|
35
|
-
extend _KeyGenerator
|
36
|
-
end
|
37
|
-
|
38
|
-
module DefaultExceptionReporter
|
39
|
-
extend _ExceptionReporter
|
40
|
-
end
|
41
|
-
end
|
42
|
-
end
|
data/sig/lib/tanshuku/engine.rbs
DELETED
data/sig/lib/tanshuku.rbs
DELETED
data/sig/lib/tasks/check_all.rbs
DELETED
@@ -1,16 +0,0 @@
|
|
1
|
-
class CheckAll
|
2
|
-
TASKNAMES: Array[Symbol]
|
3
|
-
LINE: String
|
4
|
-
TITLE_TEMPLATE: String
|
5
|
-
|
6
|
-
attr_reader failed_commands: Array[String]
|
7
|
-
|
8
|
-
def self.call: () -> void
|
9
|
-
|
10
|
-
def call: () -> void
|
11
|
-
|
12
|
-
private
|
13
|
-
|
14
|
-
def executor: () -> ^(*String) -> void
|
15
|
-
def output_result: () -> void
|
16
|
-
end
|