tanshuku 0.0.19 → 0.0.20
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 +20 -20
- data/app/models/tanshuku/url.rb +11 -11
- data/lib/tanshuku/configuration.rb +3 -3
- data/lib/tanshuku/engine.rb +2 -2
- data/lib/tanshuku/version.rb +1 -1
- data/lib/tanshuku.rb +1 -1
- data/lib/tasks/check_all.rb +67 -0
- data/rbs_collection.lock.yaml +53 -17
- data/sig/lib/tasks/check_all.rbs +16 -0
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3d76c6fcc6d013d882135ed4c89e391504b97ffb872316f9427b9834f006ed0a
|
4
|
+
data.tar.gz: 74f8abca0448be56006ffe1a22cbf9041216feb34cdf165624a93d160a1b666c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 80fed95fdb6a8797f29e2e87a2d8cd9f6bc39ee8757a05ae8c9c3d4ad3bc2ab99f884e798d210f621229135738851e4982f1a330eaabcca7819398f55fd28b40
|
7
|
+
data.tar.gz: 402363cc346ffaed626cfbfe32f54a4e479b44cc070e4ebb2bb3648145cef6cb36e009393fcffefe73a90decb895dab3725721b680a42f95f54a2f77e1c7ff32
|
data/README.md
CHANGED
@@ -4,19 +4,19 @@ Tanshuku is a simple and small Rails engine that makes it easier to shorten URLs
|
|
4
4
|
|
5
5
|
## Key Features
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
7
|
+
- Generates a unique key for a URL.
|
8
|
+
- The uniqueness is ensured at database level.
|
9
|
+
- Creates no additional shortened URL record if the given URL has already been shortened.
|
10
|
+
- You can create an additional record for the same URL with using a different namespace from existing records’.
|
11
|
+
- Checks its existence considering the performance.
|
12
|
+
- Provides a Rails controller and action for finding a shortened URL record and redirecting to its original, i.e., non-shortened, URL.
|
13
|
+
- The redirection is done with 301 HTTP status.
|
14
14
|
|
15
15
|
## Usage
|
16
16
|
|
17
17
|
### 1. Mount `Tanshuku::Engine`
|
18
18
|
|
19
|
-
For example, the following code generates a routing `` GET `/t/:key` to `Tanshuku::UrlsController#show` ``. When your Rails app receives a request to `/t/abcdefghij0123456789`, `Tanshuku::UrlsController#show` will be called and a `Tanshuku::Url` record with a key `abcdefghij0123456789` will be found. Then the request will be redirected to the `Tanshuku::Url` record
|
19
|
+
For example, the following code generates a routing `` GET `/t/:key` to `Tanshuku::UrlsController#show` ``. When your Rails app receives a request to `/t/abcdefghij0123456789`, `Tanshuku::UrlsController#show` will be called and a `Tanshuku::Url` record with a key `abcdefghij0123456789` will be found. Then the request will be redirected to the `Tanshuku::Url` record’s original URL.
|
20
20
|
|
21
21
|
```rb
|
22
22
|
# config/routes.rb
|
@@ -31,9 +31,9 @@ end
|
|
31
31
|
|
32
32
|
**Note**: This step is optional.
|
33
33
|
|
34
|
-
**Note**: An initializer file for configuration can be generated by `bin/rails generate tanshuku:install`. See the
|
34
|
+
**Note**: An initializer file for configuration can be generated by `bin/rails generate tanshuku:install`. See the “[Installation](#installation)” section below for more information.
|
35
35
|
|
36
|
-
**Note**: Mutating a `Tanshuku::Configuration` object is thread
|
36
|
+
**Note**: Mutating a `Tanshuku::Configuration` object is thread-**_unsafe_**. It is recommended to use `Tanshuku.configure` for configuration.
|
37
37
|
|
38
38
|
#### `config.default_url_options`
|
39
39
|
|
@@ -72,7 +72,7 @@ end
|
|
72
72
|
|
73
73
|
#### More information
|
74
74
|
|
75
|
-
cf. [`Tanshuku::Configuration
|
75
|
+
cf. [`Tanshuku::Configuration`’s API documentation](https://kg8m.github.io/tanshuku/Tanshuku/Configuration.html)
|
76
76
|
|
77
77
|
### 3. Generate shortened URLs
|
78
78
|
|
@@ -115,10 +115,10 @@ Tanshuku::Url.shorten("https://google.com/", url_options: { protocol: :http })
|
|
115
115
|
You can create additional records for the same URL with specifying a namespace.
|
116
116
|
|
117
117
|
```rb
|
118
|
-
# When no record exists for
|
118
|
+
# When no record exists for “https://google.com/”, a new record will be created.
|
119
119
|
Tanshuku::Url.shorten("https://google.com/") #=> "https://example.com/t/abc012def345ghi678j9"
|
120
120
|
|
121
|
-
# Even when a record already exists for
|
121
|
+
# Even when a record already exists for “https://google.com/”, an additional record will be created if namespace is
|
122
122
|
# specified.
|
123
123
|
Tanshuku::Url.shorten("https://google.com/", namespace: "a") #=> "https://example.com/t/ab01cd23ef45gh67ij89"
|
124
124
|
Tanshuku::Url.shorten("https://google.com/", namespace: "b") #=> "https://example.com/t/a0b1c2d3e4f5g6h7i8j9"
|
@@ -131,7 +131,7 @@ Tanshuku::Url.shorten("https://google.com/", namespace: "a") #=> "https://examp
|
|
131
131
|
|
132
132
|
#### More information
|
133
133
|
|
134
|
-
cf. [`Tanshuku::Url.shorten
|
134
|
+
cf. [`Tanshuku::Url.shorten`’s API documentation](https://kg8m.github.io/tanshuku/Tanshuku/Url.html#shorten-class_method)
|
135
135
|
|
136
136
|
### 4. Share the shortened URLs
|
137
137
|
|
@@ -143,7 +143,7 @@ When a user clicks a link with a shortened URL, your Rails app redirects the use
|
|
143
143
|
|
144
144
|
### 1. Enable Tanshuku
|
145
145
|
|
146
|
-
Add `gem "tanshuku"` to your application
|
146
|
+
Add `gem "tanshuku"` to your application’s `Gemfile`.
|
147
147
|
|
148
148
|
```rb
|
149
149
|
# Gemfile
|
@@ -168,19 +168,19 @@ bin/rails db:migrate
|
|
168
168
|
|
169
169
|
## Q&A
|
170
170
|
|
171
|
-
### What does
|
171
|
+
### Q. What does “tanshuku” mean?
|
172
172
|
|
173
|
-
|
173
|
+
A. “Tanshuku” is a Japanese word “短縮.” It means “shortening.” And “短縮URL” in Japanese means “shortened URL” in English.
|
174
174
|
|
175
|
-
### \*\* (anything you want) isn
|
175
|
+
### Q. \*\* (anything you want) isn’t implemented?
|
176
176
|
|
177
|
-
Does Tanshuku have some missing features? Please [create an issue](https://github.com/kg8m/tanshuku/issues/new).
|
177
|
+
A. Does Tanshuku have some missing features? Please [create an issue](https://github.com/kg8m/tanshuku/issues/new).
|
178
178
|
|
179
179
|
## How to develop
|
180
180
|
|
181
181
|
1. Fork this repository
|
182
182
|
1. `git clone` your fork
|
183
|
-
1. `bundle install`
|
183
|
+
1. `bundle install` and `rake steep:prepare`
|
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
@@ -13,7 +13,7 @@ module Tanshuku
|
|
13
13
|
# @return [String] Original, i.e., non-shortened, URL of the record.
|
14
14
|
#
|
15
15
|
# @!attribute [rw] hashed_url
|
16
|
-
# @return [String] A hashed string of the record
|
16
|
+
# @return [String] A hashed string of the record’s original URL.
|
17
17
|
# @note This attribute is used for uniqueness of the original URL.
|
18
18
|
# @api private
|
19
19
|
#
|
@@ -29,12 +29,12 @@ module Tanshuku
|
|
29
29
|
validates :url, length: { maximum: proc { Tanshuku.config.max_url_length } }
|
30
30
|
validates :url, format: { with: proc { Tanshuku.config.url_pattern } }, allow_blank: true
|
31
31
|
|
32
|
-
# Don
|
32
|
+
# Don’t validate uniqueness of unique attributes. Raise ActiveRecord::RecordNotUnique instead if the attributes get
|
33
33
|
# duplicated. Then rescue the exception and try to retry.
|
34
34
|
# validates :url, :hashed_url, :key, uniqueness: true
|
35
35
|
|
36
36
|
# Shortens a URL. Builds and saves a {Tanshuku::Url} record with generating a unique key for the given URL and
|
37
|
-
# namespace. Then returns the record
|
37
|
+
# namespace. Then returns the record’s shortened URL with the given URL options.
|
38
38
|
#
|
39
39
|
# @note
|
40
40
|
# If a {Tanshuku::Url} record already exists, no additional record will be created and the existing record will be
|
@@ -45,7 +45,7 @@ module Tanshuku
|
|
45
45
|
#
|
46
46
|
# @param original_url [String] The original, i.e., non-shortened, URL.
|
47
47
|
# @param namespace [String] A namespace for shorteting URL. Shortened URLs are unique in namespaces.
|
48
|
-
# @param url_options [Hash] An option for Rails
|
48
|
+
# @param url_options [Hash] An option for Rails’ +url_for+.
|
49
49
|
#
|
50
50
|
# @return [String] A shortened URL if succeeded to shorten the original URL.
|
51
51
|
# @return [String] The original URL if failed to shorten it.
|
@@ -61,10 +61,10 @@ module Tanshuku
|
|
61
61
|
# Tanshuku::Url.shorten("https://google.com/", url_options: { protocol: :http })
|
62
62
|
# #=> "http://example.com/t/abcde01234fghij56789"
|
63
63
|
# @example With a namespace.
|
64
|
-
# # When no record exists for
|
64
|
+
# # When no record exists for “https://google.com/”, a new record will be created.
|
65
65
|
# Tanshuku::Url.shorten("https://google.com/") #=> "https://example.com/t/abc012def345ghi678j9"
|
66
66
|
#
|
67
|
-
# # Even when a record already exists for
|
67
|
+
# # Even when a record already exists for “https://google.com/”, an additional record will be created if namespace
|
68
68
|
# # is specified.
|
69
69
|
# Tanshuku::Url.shorten("https://google.com/", namespace: "a") #=> "https://example.com/t/ab01cd23ef45gh67ij89"
|
70
70
|
# Tanshuku::Url.shorten("https://google.com/", namespace: "b") #=> "https://example.com/t/a0b1c2d3e4f5g6h7i8j9"
|
@@ -131,7 +131,7 @@ module Tanshuku
|
|
131
131
|
|
132
132
|
# Hashes a URL.
|
133
133
|
#
|
134
|
-
# @note This method calls {Tanshuku::Configuration#url_hasher}
|
134
|
+
# @note This method calls {Tanshuku::Configuration#url_hasher}’s +call+ and returns its return value.
|
135
135
|
#
|
136
136
|
# @param url [String] A non-hashed URL.
|
137
137
|
# @param namespace [String] A namespace for the URL.
|
@@ -143,7 +143,7 @@ module Tanshuku
|
|
143
143
|
|
144
144
|
# Generates a unique key for a shortened URL.
|
145
145
|
#
|
146
|
-
# @note This method calls {Tanshuku::Configuration#key_generator}
|
146
|
+
# @note This method calls {Tanshuku::Configuration#key_generator}’s +call+ and returns its return value.
|
147
147
|
#
|
148
148
|
# @return [String] Depends on your {Tanshuku::Configuration#key_generator} configuration.
|
149
149
|
def self.generate_key
|
@@ -152,7 +152,7 @@ module Tanshuku
|
|
152
152
|
|
153
153
|
# Reports an exception when failed to shorten a URL.
|
154
154
|
#
|
155
|
-
# @note This method calls {Tanshuku::Configuration#exception_reporter}
|
155
|
+
# @note This method calls {Tanshuku::Configuration#exception_reporter}’s +call+ and returns its return value.
|
156
156
|
#
|
157
157
|
# @param exception [Exception] An error instance at shortening a URL.
|
158
158
|
# @param original_url [String] The original URL failed to shorten.
|
@@ -162,9 +162,9 @@ module Tanshuku
|
|
162
162
|
Tanshuku.config.exception_reporter.call(exception:, original_url:)
|
163
163
|
end
|
164
164
|
|
165
|
-
# The record
|
165
|
+
# The record’s shortened URL.
|
166
166
|
#
|
167
|
-
# @param url_options [Hash] An option for Rails
|
167
|
+
# @param url_options [Hash] An option for Rails’ +url_for+.
|
168
168
|
#
|
169
169
|
# @return [String] A shortened URL.
|
170
170
|
def shortened_url(url_options = {})
|
@@ -11,7 +11,7 @@ module Tanshuku
|
|
11
11
|
# Calls +Digest::SHA512.hexdigest+ with the given URL string and the given namespace.
|
12
12
|
#
|
13
13
|
# @param url [String] A URL to hash.
|
14
|
-
# @param namespace [String] A namespace for the URL
|
14
|
+
# @param namespace [String] A namespace for the URL’s uniqueness.
|
15
15
|
#
|
16
16
|
# @return [String] A SHA512 digest string from the given url and namespace.
|
17
17
|
def self.call(url, namespace:)
|
@@ -45,7 +45,7 @@ module Tanshuku
|
|
45
45
|
include ActiveModel::Attributes
|
46
46
|
|
47
47
|
# @!attribute [rw] default_url_options
|
48
|
-
# Default URL options for Rails
|
48
|
+
# Default URL options for Rails’ +url_for+. Defaults to +{}+.
|
49
49
|
#
|
50
50
|
# @return [Hash]
|
51
51
|
# @return [void] If you set an invalid object.
|
@@ -102,7 +102,7 @@ module Tanshuku
|
|
102
102
|
# @return [Integer]
|
103
103
|
# @return [void] If you set an invalid object.
|
104
104
|
#
|
105
|
-
# @note Don
|
105
|
+
# @note Don’t forget to fix the limit of the +tanshuku_urls.key+ column if you change this value.
|
106
106
|
#
|
107
107
|
# @note
|
108
108
|
# The example below means that {Tanshuku::Url#key} has 10-char string.
|
data/lib/tanshuku/engine.rb
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module Tanshuku
|
4
|
-
# Tanshuku
|
4
|
+
# Tanshuku’s Rails engine.
|
5
5
|
#
|
6
6
|
# @note
|
7
7
|
# The example below generates a routing +GET `/t/:key` to `Tanshuku::UrlsController#show`+. When your Rails app
|
8
8
|
# receives a request to +/t/abcdefghij0123456789+, +Tanshuku::UrlsController#show+ will be called and a
|
9
9
|
# +Tanshuku::Url+ record with a key +abcdefghij0123456789+ will be found. Then the request will be redirected to the
|
10
|
-
# +Tanshuku::Url+ record
|
10
|
+
# +Tanshuku::Url+ record’s original URL.
|
11
11
|
#
|
12
12
|
# @example To mount Tanshuku to your Rails app
|
13
13
|
# # config/routes.rb
|
data/lib/tanshuku/version.rb
CHANGED
data/lib/tanshuku.rb
CHANGED
@@ -0,0 +1,67 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "English"
|
4
|
+
require "io/console"
|
5
|
+
require "paint"
|
6
|
+
require "pty"
|
7
|
+
|
8
|
+
class CheckAll
|
9
|
+
TASKNAMES = %i[rubocop spec steep:check yard:check].freeze
|
10
|
+
LINE = Paint["-" * (IO.console or raise).winsize[1], :bold]
|
11
|
+
TITLE_TEMPLATE = Paint["\n#{LINE}\nExecute: %<command>s\n#{LINE}\n\n", :bold]
|
12
|
+
|
13
|
+
attr_reader :failed_commands
|
14
|
+
|
15
|
+
def self.call
|
16
|
+
new.call
|
17
|
+
end
|
18
|
+
|
19
|
+
def initialize
|
20
|
+
@failed_commands = []
|
21
|
+
end
|
22
|
+
|
23
|
+
def call
|
24
|
+
TASKNAMES.map { |taskname| Thread.new(taskname, &executor) }.each(&:join)
|
25
|
+
output_result
|
26
|
+
end
|
27
|
+
|
28
|
+
private
|
29
|
+
|
30
|
+
def executor
|
31
|
+
lambda do |taskname|
|
32
|
+
command = "bundle exec rake #{taskname}"
|
33
|
+
|
34
|
+
outputs = []
|
35
|
+
outputs << format(TITLE_TEMPLATE, command:)
|
36
|
+
|
37
|
+
# Use `PTY.spawn` to get colorized outputs of each command.
|
38
|
+
PTY.spawn(command) do |reader, writer, pid|
|
39
|
+
writer.close
|
40
|
+
|
41
|
+
while (output = reader.gets)
|
42
|
+
outputs << output
|
43
|
+
end
|
44
|
+
|
45
|
+
Process.wait(pid)
|
46
|
+
end
|
47
|
+
failed_commands << command unless $CHILD_STATUS&.success?
|
48
|
+
|
49
|
+
puts outputs.join
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
def output_result
|
54
|
+
puts ""
|
55
|
+
puts LINE
|
56
|
+
puts Paint["Result", :bold]
|
57
|
+
puts LINE
|
58
|
+
|
59
|
+
if failed_commands.empty?
|
60
|
+
puts Paint["\nAll checks are OK.", :green, :bold]
|
61
|
+
else
|
62
|
+
puts Paint["\nChecks failed!!\n", :red, :bold]
|
63
|
+
puts failed_commands.map { |command| " - #{command}" }.join("\n")
|
64
|
+
abort ""
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
data/rbs_collection.lock.yaml
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
sources:
|
3
3
|
- type: git
|
4
4
|
name: ruby/gem_rbs_collection
|
5
|
-
revision:
|
5
|
+
revision: 8149bc3fc0f720d935dc0592dc8886e03052f65f
|
6
6
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
7
7
|
repo_dir: gems
|
8
8
|
path: ".gem_rbs_collection"
|
@@ -12,7 +12,7 @@ gems:
|
|
12
12
|
source:
|
13
13
|
type: git
|
14
14
|
name: ruby/gem_rbs_collection
|
15
|
-
revision:
|
15
|
+
revision: 8149bc3fc0f720d935dc0592dc8886e03052f65f
|
16
16
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
17
17
|
repo_dir: gems
|
18
18
|
- name: actionpack
|
@@ -20,7 +20,7 @@ gems:
|
|
20
20
|
source:
|
21
21
|
type: git
|
22
22
|
name: ruby/gem_rbs_collection
|
23
|
-
revision:
|
23
|
+
revision: 8149bc3fc0f720d935dc0592dc8886e03052f65f
|
24
24
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
25
25
|
repo_dir: gems
|
26
26
|
- name: actionview
|
@@ -28,7 +28,7 @@ gems:
|
|
28
28
|
source:
|
29
29
|
type: git
|
30
30
|
name: ruby/gem_rbs_collection
|
31
|
-
revision:
|
31
|
+
revision: 8149bc3fc0f720d935dc0592dc8886e03052f65f
|
32
32
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
33
33
|
repo_dir: gems
|
34
34
|
- name: activejob
|
@@ -36,7 +36,7 @@ gems:
|
|
36
36
|
source:
|
37
37
|
type: git
|
38
38
|
name: ruby/gem_rbs_collection
|
39
|
-
revision:
|
39
|
+
revision: 8149bc3fc0f720d935dc0592dc8886e03052f65f
|
40
40
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
41
41
|
repo_dir: gems
|
42
42
|
- name: activemodel
|
@@ -44,7 +44,7 @@ gems:
|
|
44
44
|
source:
|
45
45
|
type: git
|
46
46
|
name: ruby/gem_rbs_collection
|
47
|
-
revision:
|
47
|
+
revision: 8149bc3fc0f720d935dc0592dc8886e03052f65f
|
48
48
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
49
49
|
repo_dir: gems
|
50
50
|
- name: activerecord
|
@@ -52,7 +52,7 @@ gems:
|
|
52
52
|
source:
|
53
53
|
type: git
|
54
54
|
name: ruby/gem_rbs_collection
|
55
|
-
revision:
|
55
|
+
revision: 8149bc3fc0f720d935dc0592dc8886e03052f65f
|
56
56
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
57
57
|
repo_dir: gems
|
58
58
|
- name: activestorage
|
@@ -60,7 +60,7 @@ gems:
|
|
60
60
|
source:
|
61
61
|
type: git
|
62
62
|
name: ruby/gem_rbs_collection
|
63
|
-
revision:
|
63
|
+
revision: 8149bc3fc0f720d935dc0592dc8886e03052f65f
|
64
64
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
65
65
|
repo_dir: gems
|
66
66
|
- name: activesupport
|
@@ -68,9 +68,17 @@ gems:
|
|
68
68
|
source:
|
69
69
|
type: git
|
70
70
|
name: ruby/gem_rbs_collection
|
71
|
-
revision:
|
71
|
+
revision: 8149bc3fc0f720d935dc0592dc8886e03052f65f
|
72
72
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
73
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
|
74
82
|
- name: cgi
|
75
83
|
version: '0'
|
76
84
|
source:
|
@@ -80,7 +88,15 @@ gems:
|
|
80
88
|
source:
|
81
89
|
type: git
|
82
90
|
name: ruby/gem_rbs_collection
|
83
|
-
revision:
|
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
|
84
100
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
85
101
|
repo_dir: gems
|
86
102
|
- name: date
|
@@ -91,12 +107,16 @@ gems:
|
|
91
107
|
version: '0'
|
92
108
|
source:
|
93
109
|
type: stdlib
|
110
|
+
- name: erb
|
111
|
+
version: '0'
|
112
|
+
source:
|
113
|
+
type: stdlib
|
94
114
|
- name: globalid
|
95
115
|
version: '1.1'
|
96
116
|
source:
|
97
117
|
type: git
|
98
118
|
name: ruby/gem_rbs_collection
|
99
|
-
revision:
|
119
|
+
revision: 8149bc3fc0f720d935dc0592dc8886e03052f65f
|
100
120
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
101
121
|
repo_dir: gems
|
102
122
|
- name: i18n
|
@@ -104,9 +124,13 @@ gems:
|
|
104
124
|
source:
|
105
125
|
type: git
|
106
126
|
name: ruby/gem_rbs_collection
|
107
|
-
revision:
|
127
|
+
revision: 8149bc3fc0f720d935dc0592dc8886e03052f65f
|
108
128
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
109
129
|
repo_dir: gems
|
130
|
+
- name: io-console
|
131
|
+
version: '0'
|
132
|
+
source:
|
133
|
+
type: stdlib
|
110
134
|
- name: logger
|
111
135
|
version: '0'
|
112
136
|
source:
|
@@ -116,7 +140,7 @@ gems:
|
|
116
140
|
source:
|
117
141
|
type: git
|
118
142
|
name: ruby/gem_rbs_collection
|
119
|
-
revision:
|
143
|
+
revision: 8149bc3fc0f720d935dc0592dc8886e03052f65f
|
120
144
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
121
145
|
repo_dir: gems
|
122
146
|
- name: minitest
|
@@ -136,7 +160,7 @@ gems:
|
|
136
160
|
source:
|
137
161
|
type: git
|
138
162
|
name: ruby/gem_rbs_collection
|
139
|
-
revision:
|
163
|
+
revision: 8149bc3fc0f720d935dc0592dc8886e03052f65f
|
140
164
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
141
165
|
repo_dir: gems
|
142
166
|
- name: rack
|
@@ -144,7 +168,7 @@ gems:
|
|
144
168
|
source:
|
145
169
|
type: git
|
146
170
|
name: ruby/gem_rbs_collection
|
147
|
-
revision:
|
171
|
+
revision: 8149bc3fc0f720d935dc0592dc8886e03052f65f
|
148
172
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
149
173
|
repo_dir: gems
|
150
174
|
- name: rails-dom-testing
|
@@ -152,7 +176,7 @@ gems:
|
|
152
176
|
source:
|
153
177
|
type: git
|
154
178
|
name: ruby/gem_rbs_collection
|
155
|
-
revision:
|
179
|
+
revision: 8149bc3fc0f720d935dc0592dc8886e03052f65f
|
156
180
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
157
181
|
repo_dir: gems
|
158
182
|
- name: railties
|
@@ -160,9 +184,13 @@ gems:
|
|
160
184
|
source:
|
161
185
|
type: git
|
162
186
|
name: ruby/gem_rbs_collection
|
163
|
-
revision:
|
187
|
+
revision: 8149bc3fc0f720d935dc0592dc8886e03052f65f
|
164
188
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
165
189
|
repo_dir: gems
|
190
|
+
- name: rdoc
|
191
|
+
version: '0'
|
192
|
+
source:
|
193
|
+
type: stdlib
|
166
194
|
- name: securerandom
|
167
195
|
version: '0'
|
168
196
|
source:
|
@@ -175,6 +203,14 @@ gems:
|
|
175
203
|
version: '0'
|
176
204
|
source:
|
177
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
|
178
214
|
- name: time
|
179
215
|
version: '0'
|
180
216
|
source:
|
@@ -0,0 +1,16 @@
|
|
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
|
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.
|
4
|
+
version: 0.0.20
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- kg8m
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-10-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: addressable
|
@@ -62,6 +62,7 @@ files:
|
|
62
62
|
- lib/tanshuku/configuration.rb
|
63
63
|
- lib/tanshuku/engine.rb
|
64
64
|
- lib/tanshuku/version.rb
|
65
|
+
- lib/tasks/check_all.rb
|
65
66
|
- rbs_collection.lock.yaml
|
66
67
|
- rbs_collection.yaml
|
67
68
|
- sig/app/controllers/tanshuku/urls_controller.rbs
|
@@ -72,6 +73,7 @@ files:
|
|
72
73
|
- sig/lib/tanshuku/configuration.rbs
|
73
74
|
- sig/lib/tanshuku/engine.rbs
|
74
75
|
- sig/lib/tanshuku/version.rbs
|
76
|
+
- sig/lib/tasks/check_all.rbs
|
75
77
|
homepage: https://github.com/kg8m/tanshuku
|
76
78
|
licenses:
|
77
79
|
- MIT
|