tanshuku 0.0.20 → 2.0.0

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: 3d76c6fcc6d013d882135ed4c89e391504b97ffb872316f9427b9834f006ed0a
4
- data.tar.gz: 74f8abca0448be56006ffe1a22cbf9041216feb34cdf165624a93d160a1b666c
3
+ metadata.gz: 12ed0c4f9a99b9b6e2c988a8fe327cc491420b9586c3128dd6e2493f46819b0a
4
+ data.tar.gz: a566c0f82f98f54301b3ab91ce23dc09629ba2e5de79970b06b62ac13d54cf10
5
5
  SHA512:
6
- metadata.gz: 80fed95fdb6a8797f29e2e87a2d8cd9f6bc39ee8757a05ae8c9c3d4ad3bc2ab99f884e798d210f621229135738851e4982f1a330eaabcca7819398f55fd28b40
7
- data.tar.gz: 402363cc346ffaed626cfbfe32f54a4e479b44cc070e4ebb2bb3648145cef6cb36e009393fcffefe73a90decb895dab3725721b680a42f95f54a2f77e1c7ff32
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` and `rake steep:prepare`
183
+ 1. `bundle install`
184
184
  1. Update sources
185
185
  1. `rake`
186
186
  1. Fix `rake` errors if `rake` fails
@@ -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:, key: generate_key }
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:, original_url:)
162
+ Tanshuku.config.exception_reporter.call(exception: exception, original_url: original_url)
163
163
  end
164
164
 
165
165
  # The record’s shortened URL.
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- class CreateTanshukuUrls < ActiveRecord::Migration[7.0]
3
+ class CreateTanshukuUrls < ActiveRecord::Migration[6.0]
4
4
  def change
5
5
  create_table :tanshuku_urls do |t|
6
6
  t.text :url, null: false
@@ -7,8 +7,7 @@ module Tanshuku
7
7
  #
8
8
  # @api private
9
9
  class InstallGenerator < Rails::Generators::Base
10
- # Assign `_ = __dir__` because Steep reports `__dir__` which can be a `nil` but I don’t want to care about that.
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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Tanshuku
4
- VERSION = "0.0.20"
4
+ VERSION = "2.0.0"
5
5
  end
data/lib/tanshuku.rb CHANGED
@@ -35,7 +35,7 @@ module Tanshuku
35
35
  # Tanshuku.configure do |config|
36
36
  # config.default_url_options = { host: "localhost", protocol: :https }
37
37
  # end
38
- def self.configure(&)
39
- config.configure(&)
38
+ def self.configure(&block)
39
+ config.configure(&block)
40
40
  end
41
41
  end
@@ -6,7 +6,7 @@ require "paint"
6
6
  require "pty"
7
7
 
8
8
  class CheckAll
9
- TASKNAMES = %i[rubocop spec steep:check yard:check].freeze
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.20
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.0
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.0
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: 7.0.0
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: 7.0.0
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.4.10
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
@@ -1,7 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- target :main do
4
- check "app", "config", "db", "lib"
5
- signature "sig"
6
- collection_config "rbs_collection.yaml"
7
- end
@@ -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,5 +0,0 @@
1
- module Tanshuku
2
- class UrlsController < ActionController::API
3
- def show: -> void
4
- end
5
- end
@@ -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,2 +0,0 @@
1
- class CreateTanshukuUrls < ActiveRecord::Migration::Compatibility::V7_0
2
- end
@@ -1,4 +0,0 @@
1
- module Tanshuku
2
- class InstallGenerator < Rails::Generators::Base
3
- end
4
- 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
@@ -1,4 +0,0 @@
1
- module Tanshuku
2
- class Engine < Rails::Engine
3
- end
4
- end
@@ -1,3 +0,0 @@
1
- module Tanshuku
2
- VERSION: String
3
- end
data/sig/lib/tanshuku.rbs DELETED
@@ -1,6 +0,0 @@
1
- module Tanshuku
2
- self.@config: Configuration
3
-
4
- def self.config: -> Configuration
5
- def self.configure: { (Configuration config) -> void } -> void
6
- end
@@ -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