rbs_discard 1.0.1 → 1.1.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/.rubocop.yml +5 -1
- data/.vscode/settings.json +11 -1
- data/Steepfile +1 -0
- data/lib/generators/rbs_discard/install_generator.rb +1 -1
- data/lib/rbs_discard/discard.rb +33 -26
- data/lib/rbs_discard/rake_task.rb +9 -6
- data/lib/rbs_discard/sig/discard.rbs +12 -10
- data/lib/rbs_discard/utils.rb +20 -0
- data/lib/rbs_discard/version.rb +1 -1
- data/lib/rbs_discard.rb +1 -0
- data/rbs_collection.lock.yaml +137 -33
- data/rbs_collection.yaml +1 -0
- data/rbs_discard.gemspec +1 -1
- data/sig/generators/rbs_discard/install_generator.rbs +2 -0
- data/sig/rbs_discard/discard.rbs +12 -0
- data/sig/rbs_discard/rake_task.rbs +10 -1
- data/sig/rbs_discard/utils.rbs +8 -0
- data/sig/rbs_discard/version.rbs +5 -0
- data/sig/rbs_discard.rbs +4 -2
- metadata +9 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 48ac86d70573860812aefcaf8aa71b16fde4e403b4db101b061055d453dc5bcf
|
4
|
+
data.tar.gz: 8b7f2129cba5d21cc493718292f91891b352572b12e30be62163a0129ecaf698
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e91fec615937559b594f0d6bdc215d27aa8adbad65c0333d426974d7ff936af3e9ec64d2338d62adb5de17978ea3a23315153b0f10badbeb608897e1189cd121
|
7
|
+
data.tar.gz: 11f66afc4bd6fc594758e0fbf2d31f75967d471aaecdd2fb09ac6fad64ee91412d59a238da9761e2befb9e73efeb72847a039d6f180dcafbe3baa8b374569fd4
|
data/.rubocop.yml
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
AllCops:
|
2
|
-
TargetRubyVersion:
|
2
|
+
TargetRubyVersion: 3.1
|
3
3
|
|
4
4
|
Style/Documentation:
|
5
5
|
Enabled: false
|
@@ -16,6 +16,10 @@ Layout/BlockLength:
|
|
16
16
|
Exclude:
|
17
17
|
- "spec/**/*_spec.rb"
|
18
18
|
|
19
|
+
Layout/LeadingCommentSpace:
|
20
|
+
AllowRBSInlineAnnotation: true
|
21
|
+
AllowSteepAnnotation: true
|
22
|
+
|
19
23
|
Layout/LineLength:
|
20
24
|
Max: 120
|
21
25
|
|
data/.vscode/settings.json
CHANGED
@@ -2,5 +2,15 @@
|
|
2
2
|
"[ruby]": {
|
3
3
|
"editor.defaultFormatter": "Shopify.ruby-lsp",
|
4
4
|
},
|
5
|
-
"rbs-helper.
|
5
|
+
"rbs-helper.rbs-inline-on-save": true,
|
6
|
+
"rbs-helper.rbs-inline-signature-directory": "sig/",
|
7
|
+
"cSpell.words": [
|
8
|
+
"discardable",
|
9
|
+
"mkpath",
|
10
|
+
"raketask",
|
11
|
+
"rmtree",
|
12
|
+
"tasklib",
|
13
|
+
"undiscard",
|
14
|
+
"undiscarded"
|
15
|
+
]
|
6
16
|
}
|
data/Steepfile
CHANGED
data/lib/rbs_discard/discard.rb
CHANGED
@@ -1,10 +1,11 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require "rbs"
|
4
|
+
require_relative "utils"
|
4
5
|
|
5
6
|
module RbsDiscard
|
6
7
|
module Discard
|
7
|
-
def self.all
|
8
|
+
def self.all #: Array[singleton(Discard::Model)]
|
8
9
|
ObjectSpace.each_object.select do |obj|
|
9
10
|
obj.is_a?(Class) && obj.ancestors.include?(::Discard::Model)
|
10
11
|
rescue StandardError
|
@@ -12,70 +13,76 @@ module RbsDiscard
|
|
12
13
|
end
|
13
14
|
end
|
14
15
|
|
15
|
-
|
16
|
+
# @rbs klass: singleton(Discard::Model)
|
17
|
+
def self.class_to_rbs(klass) #: String
|
16
18
|
Generator.new(klass).generate
|
17
19
|
end
|
18
20
|
|
19
21
|
class Generator
|
20
|
-
|
22
|
+
include Utils
|
21
23
|
|
22
|
-
|
24
|
+
attr_reader :klass #: singleton(Discard::Model)
|
25
|
+
attr_reader :klass_name #: String
|
26
|
+
|
27
|
+
# @rbs klass: singleton(Discard::Model)
|
28
|
+
def initialize(klass) #: void
|
23
29
|
@klass = klass
|
24
30
|
@klass_name = klass.name || ""
|
25
31
|
end
|
26
32
|
|
27
|
-
def generate
|
33
|
+
def generate #: String
|
28
34
|
format <<~RBS
|
35
|
+
# resolve-type-names: false
|
36
|
+
|
29
37
|
#{header}
|
30
|
-
class ActiveRecord_Relation
|
31
|
-
include Discard::Model::Relation
|
38
|
+
class ::#{klass_name}::ActiveRecord_Relation
|
39
|
+
include ::Discard::Model::Relation
|
32
40
|
end
|
33
41
|
|
34
|
-
class ActiveRecord_Associations_CollectionProxy
|
35
|
-
include Discard::Model::Relation
|
42
|
+
class ::#{klass_name}::ActiveRecord_Associations_CollectionProxy
|
43
|
+
include ::Discard::Model::Relation
|
36
44
|
end
|
37
45
|
|
38
|
-
include Discard::Model
|
39
|
-
extend Discard::Model::ClassMethods
|
46
|
+
include ::Discard::Model
|
47
|
+
extend ::Discard::Model::ClassMethods
|
40
48
|
|
41
|
-
def self.kept: () ->
|
42
|
-
def self.undiscarded: () ->
|
43
|
-
def self.discarded: () ->
|
44
|
-
def self.with_discarded: () ->
|
49
|
+
def self.kept: () -> ::#{klass_name}::ActiveRecord_Relation
|
50
|
+
def self.undiscarded: () -> ::#{klass_name}::ActiveRecord_Relation
|
51
|
+
def self.discarded: () -> ::#{klass_name}::ActiveRecord_Relation
|
52
|
+
def self.with_discarded: () -> ::#{klass_name}::ActiveRecord_Relation
|
45
53
|
#{footer}
|
46
54
|
RBS
|
47
55
|
end
|
48
56
|
|
49
57
|
private
|
50
58
|
|
51
|
-
|
59
|
+
# @rbs rbs: String
|
60
|
+
def format(rbs) #: String
|
52
61
|
parsed = RBS::Parser.parse_signature(rbs)
|
53
62
|
StringIO.new.tap do |out|
|
54
|
-
RBS::Writer.new(out:
|
63
|
+
RBS::Writer.new(out:).write(parsed[1] + parsed[2])
|
55
64
|
end.string
|
56
65
|
end
|
57
66
|
|
58
|
-
def header
|
59
|
-
|
60
|
-
|
61
|
-
namespace += "::#{mod_name}"
|
62
|
-
mod_object = Object.const_get(namespace)
|
67
|
+
def header #: String
|
68
|
+
klass_to_names(klass).map do |name|
|
69
|
+
mod_object = Object.const_get(name.to_s)
|
63
70
|
case mod_object
|
64
71
|
when Class
|
65
72
|
# @type var superclass: Class
|
66
73
|
superclass = _ = mod_object.superclass
|
67
|
-
superclass_name = superclass.name || "Object"
|
74
|
+
superclass_name = superclass.name || "::Object"
|
68
75
|
|
69
|
-
"class #{
|
76
|
+
"class #{name} < ::#{superclass_name}"
|
70
77
|
when Module
|
71
|
-
"module #{
|
78
|
+
"module #{name}"
|
72
79
|
else
|
73
80
|
raise "unreachable"
|
74
81
|
end
|
75
82
|
end.join("\n")
|
76
83
|
end
|
77
84
|
|
78
|
-
def footer
|
85
|
+
def footer #: String
|
79
86
|
"end\n" * klass.module_parents.size
|
80
87
|
end
|
81
88
|
end
|
@@ -6,9 +6,12 @@ require "rake/tasklib"
|
|
6
6
|
|
7
7
|
module RbsDiscard
|
8
8
|
class RakeTask < Rake::TaskLib
|
9
|
-
attr_accessor :name
|
9
|
+
attr_accessor :name #: Symbol
|
10
|
+
attr_accessor :signature_root_dir #: Pathname
|
10
11
|
|
11
|
-
|
12
|
+
# @rbs name: Symbol
|
13
|
+
# @rbs &block: ?(RakeTask) -> void
|
14
|
+
def initialize(name = :"rbs:discard", &block) #: void
|
12
15
|
super()
|
13
16
|
|
14
17
|
@name = name
|
@@ -22,14 +25,14 @@ module RbsDiscard
|
|
22
25
|
define_setup_task
|
23
26
|
end
|
24
27
|
|
25
|
-
def define_setup_task
|
28
|
+
def define_setup_task #: void
|
26
29
|
desc "Run all tasks of rbs_discard"
|
27
30
|
|
28
31
|
deps = [:"#{name}:clean", :"#{name}:base_class:generate", :"#{name}:generate"]
|
29
32
|
task("#{name}:setup" => deps)
|
30
33
|
end
|
31
34
|
|
32
|
-
def define_generate_base_class_task
|
35
|
+
def define_generate_base_class_task #: void
|
33
36
|
desc "Generate RBS files for base classes"
|
34
37
|
task "#{name}:base_class:generate": :environment do
|
35
38
|
signature_root_dir.mkpath
|
@@ -38,7 +41,7 @@ module RbsDiscard
|
|
38
41
|
end
|
39
42
|
end
|
40
43
|
|
41
|
-
def define_generate_task
|
44
|
+
def define_generate_task #: void
|
42
45
|
desc "Generate RBS files for discardable models"
|
43
46
|
task "#{name}:generate" do
|
44
47
|
require "rbs_discard" # load RbsDraper lazily
|
@@ -54,7 +57,7 @@ module RbsDiscard
|
|
54
57
|
end
|
55
58
|
end
|
56
59
|
|
57
|
-
def define_clean_task
|
60
|
+
def define_clean_task #: void
|
58
61
|
desc "Clean RBS files for discardable models"
|
59
62
|
task "#{name}:clean" do
|
60
63
|
signature_root_dir.rmtree if signature_root_dir.exist?
|
@@ -1,13 +1,15 @@
|
|
1
|
-
|
2
|
-
module Model
|
3
|
-
module ClassMethods
|
4
|
-
type callback = Symbol | ^() [self: instance] -> void
|
1
|
+
# resolve-type-names: false
|
5
2
|
|
6
|
-
|
7
|
-
|
3
|
+
module ::Discard
|
4
|
+
module ::Discard::Model
|
5
|
+
module ::Discard::Model::ClassMethods
|
6
|
+
type ::Discard::Model::ClassMethods::callback[T] = ::Symbol | ^() [self: T] -> void
|
8
7
|
|
9
|
-
def
|
10
|
-
def
|
8
|
+
def discard_column: () -> ::Symbol
|
9
|
+
def discard_column=: (::Symbol) -> ::Symbol
|
10
|
+
|
11
|
+
def before_discard: (*::Discard::Model::ClassMethods::callback[instance]) ? { () [self: instance] -> void } -> void
|
12
|
+
def after_discard: (*::Discard::Model::ClassMethods::callback[instance]) ? { () [self: instance] -> void } -> void
|
11
13
|
def discard_all: () -> void
|
12
14
|
def discard_all!: () -> void
|
13
15
|
def undiscard_all: () -> void
|
@@ -25,8 +27,8 @@ module Discard
|
|
25
27
|
def undiscard_all!: () -> void
|
26
28
|
end
|
27
29
|
|
28
|
-
def discard_column: () -> Symbol
|
29
|
-
def discard_column=: (Symbol) -> Symbol
|
30
|
+
def discard_column: () -> ::Symbol
|
31
|
+
def discard_column=: (::Symbol) -> ::Symbol
|
30
32
|
|
31
33
|
def discard: () -> bool
|
32
34
|
def discard!: () -> void
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "rbs"
|
4
|
+
|
5
|
+
module RbsDiscard
|
6
|
+
module Utils
|
7
|
+
# @rbs klass_name: singleton(Object)
|
8
|
+
def klass_to_names(klass) #: Array[RBS::TypeName]
|
9
|
+
type_name = RBS::TypeName.parse("::#{klass.name}")
|
10
|
+
|
11
|
+
names = [type_name] #: Array[RBS::TypeName]
|
12
|
+
namespace = type_name.namespace
|
13
|
+
until namespace.empty?
|
14
|
+
names << namespace.to_type_name
|
15
|
+
namespace = namespace.parent
|
16
|
+
end
|
17
|
+
names.reverse
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
data/lib/rbs_discard/version.rb
CHANGED
data/lib/rbs_discard.rb
CHANGED
data/rbs_collection.lock.yaml
CHANGED
@@ -1,20 +1,36 @@
|
|
1
1
|
---
|
2
2
|
path: ".gem_rbs_collection"
|
3
3
|
gems:
|
4
|
+
- name: actioncable
|
5
|
+
version: '7.1'
|
6
|
+
source:
|
7
|
+
type: git
|
8
|
+
name: ruby/gem_rbs_collection
|
9
|
+
revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
|
10
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
11
|
+
repo_dir: gems
|
4
12
|
- name: actionmailer
|
5
13
|
version: '7.0'
|
6
14
|
source:
|
7
15
|
type: git
|
8
16
|
name: ruby/gem_rbs_collection
|
9
|
-
revision:
|
17
|
+
revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
|
10
18
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
11
19
|
repo_dir: gems
|
12
20
|
- name: actionpack
|
13
|
-
version: '
|
21
|
+
version: '7.2'
|
14
22
|
source:
|
15
23
|
type: git
|
16
24
|
name: ruby/gem_rbs_collection
|
17
|
-
revision:
|
25
|
+
revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
|
26
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
27
|
+
repo_dir: gems
|
28
|
+
- name: actiontext
|
29
|
+
version: '7.2'
|
30
|
+
source:
|
31
|
+
type: git
|
32
|
+
name: ruby/gem_rbs_collection
|
33
|
+
revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
|
18
34
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
19
35
|
repo_dir: gems
|
20
36
|
- name: actionview
|
@@ -22,7 +38,7 @@ gems:
|
|
22
38
|
source:
|
23
39
|
type: git
|
24
40
|
name: ruby/gem_rbs_collection
|
25
|
-
revision:
|
41
|
+
revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
|
26
42
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
27
43
|
repo_dir: gems
|
28
44
|
- name: activejob
|
@@ -30,23 +46,31 @@ gems:
|
|
30
46
|
source:
|
31
47
|
type: git
|
32
48
|
name: ruby/gem_rbs_collection
|
33
|
-
revision:
|
49
|
+
revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
|
34
50
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
35
51
|
repo_dir: gems
|
36
52
|
- name: activemodel
|
37
|
-
version: '7.
|
53
|
+
version: '7.1'
|
38
54
|
source:
|
39
55
|
type: git
|
40
56
|
name: ruby/gem_rbs_collection
|
41
|
-
revision:
|
57
|
+
revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
|
42
58
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
43
59
|
repo_dir: gems
|
44
60
|
- name: activerecord
|
45
|
-
version: '7.
|
61
|
+
version: '7.2'
|
62
|
+
source:
|
63
|
+
type: git
|
64
|
+
name: ruby/gem_rbs_collection
|
65
|
+
revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
|
66
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
67
|
+
repo_dir: gems
|
68
|
+
- name: activestorage
|
69
|
+
version: '7.0'
|
46
70
|
source:
|
47
71
|
type: git
|
48
72
|
name: ruby/gem_rbs_collection
|
49
|
-
revision:
|
73
|
+
revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
|
50
74
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
51
75
|
repo_dir: gems
|
52
76
|
- name: activesupport
|
@@ -54,7 +78,7 @@ gems:
|
|
54
78
|
source:
|
55
79
|
type: git
|
56
80
|
name: ruby/gem_rbs_collection
|
57
|
-
revision:
|
81
|
+
revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
|
58
82
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
59
83
|
repo_dir: gems
|
60
84
|
- name: ast
|
@@ -62,17 +86,29 @@ gems:
|
|
62
86
|
source:
|
63
87
|
type: git
|
64
88
|
name: ruby/gem_rbs_collection
|
65
|
-
revision:
|
89
|
+
revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
|
66
90
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
67
91
|
repo_dir: gems
|
68
92
|
- name: base64
|
93
|
+
version: '0.1'
|
94
|
+
source:
|
95
|
+
type: git
|
96
|
+
name: ruby/gem_rbs_collection
|
97
|
+
revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
|
98
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
99
|
+
repo_dir: gems
|
100
|
+
- name: benchmark
|
69
101
|
version: '0'
|
70
102
|
source:
|
71
103
|
type: stdlib
|
72
104
|
- name: bigdecimal
|
73
|
-
version: '
|
105
|
+
version: '3.1'
|
74
106
|
source:
|
75
|
-
type:
|
107
|
+
type: git
|
108
|
+
name: ruby/gem_rbs_collection
|
109
|
+
revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
|
110
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
111
|
+
repo_dir: gems
|
76
112
|
- name: cgi
|
77
113
|
version: '0'
|
78
114
|
source:
|
@@ -82,7 +118,7 @@ gems:
|
|
82
118
|
source:
|
83
119
|
type: git
|
84
120
|
name: ruby/gem_rbs_collection
|
85
|
-
revision:
|
121
|
+
revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
|
86
122
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
87
123
|
repo_dir: gems
|
88
124
|
- name: connection_pool
|
@@ -90,13 +126,21 @@ gems:
|
|
90
126
|
source:
|
91
127
|
type: git
|
92
128
|
name: ruby/gem_rbs_collection
|
93
|
-
revision:
|
129
|
+
revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
|
94
130
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
95
131
|
repo_dir: gems
|
96
132
|
- name: date
|
97
133
|
version: '0'
|
98
134
|
source:
|
99
135
|
type: stdlib
|
136
|
+
- name: delegate
|
137
|
+
version: '0'
|
138
|
+
source:
|
139
|
+
type: stdlib
|
140
|
+
- name: digest
|
141
|
+
version: '0'
|
142
|
+
source:
|
143
|
+
type: stdlib
|
100
144
|
- name: erb
|
101
145
|
version: '0'
|
102
146
|
source:
|
@@ -110,7 +154,7 @@ gems:
|
|
110
154
|
source:
|
111
155
|
type: git
|
112
156
|
name: ruby/gem_rbs_collection
|
113
|
-
revision:
|
157
|
+
revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
|
114
158
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
115
159
|
repo_dir: gems
|
116
160
|
- name: i18n
|
@@ -118,9 +162,13 @@ gems:
|
|
118
162
|
source:
|
119
163
|
type: git
|
120
164
|
name: ruby/gem_rbs_collection
|
121
|
-
revision:
|
165
|
+
revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
|
122
166
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
123
167
|
repo_dir: gems
|
168
|
+
- name: io-console
|
169
|
+
version: '0'
|
170
|
+
source:
|
171
|
+
type: stdlib
|
124
172
|
- name: json
|
125
173
|
version: '0'
|
126
174
|
source:
|
@@ -134,7 +182,15 @@ gems:
|
|
134
182
|
source:
|
135
183
|
type: git
|
136
184
|
name: ruby/gem_rbs_collection
|
137
|
-
revision:
|
185
|
+
revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
|
186
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
187
|
+
repo_dir: gems
|
188
|
+
- name: marcel
|
189
|
+
version: '1.0'
|
190
|
+
source:
|
191
|
+
type: git
|
192
|
+
name: ruby/gem_rbs_collection
|
193
|
+
revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
|
138
194
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
139
195
|
repo_dir: gems
|
140
196
|
- name: mini_mime
|
@@ -142,7 +198,7 @@ gems:
|
|
142
198
|
source:
|
143
199
|
type: git
|
144
200
|
name: ruby/gem_rbs_collection
|
145
|
-
revision:
|
201
|
+
revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
|
146
202
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
147
203
|
repo_dir: gems
|
148
204
|
- name: minitest
|
@@ -162,23 +218,35 @@ gems:
|
|
162
218
|
source:
|
163
219
|
type: stdlib
|
164
220
|
- name: net-smtp
|
165
|
-
version: '0'
|
221
|
+
version: '0.5'
|
166
222
|
source:
|
167
|
-
type:
|
223
|
+
type: git
|
224
|
+
name: ruby/gem_rbs_collection
|
225
|
+
revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
|
226
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
227
|
+
repo_dir: gems
|
168
228
|
- name: nokogiri
|
169
229
|
version: '1.11'
|
170
230
|
source:
|
171
231
|
type: git
|
172
232
|
name: ruby/gem_rbs_collection
|
173
|
-
revision:
|
233
|
+
revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
|
174
234
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
175
235
|
repo_dir: gems
|
236
|
+
- name: openssl
|
237
|
+
version: '0'
|
238
|
+
source:
|
239
|
+
type: stdlib
|
240
|
+
- name: optparse
|
241
|
+
version: '0'
|
242
|
+
source:
|
243
|
+
type: stdlib
|
176
244
|
- name: parallel
|
177
245
|
version: '1.20'
|
178
246
|
source:
|
179
247
|
type: git
|
180
248
|
name: ruby/gem_rbs_collection
|
181
|
-
revision:
|
249
|
+
revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
|
182
250
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
183
251
|
repo_dir: gems
|
184
252
|
- name: parser
|
@@ -186,7 +254,7 @@ gems:
|
|
186
254
|
source:
|
187
255
|
type: git
|
188
256
|
name: ruby/gem_rbs_collection
|
189
|
-
revision:
|
257
|
+
revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
|
190
258
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
191
259
|
repo_dir: gems
|
192
260
|
- name: pathname
|
@@ -198,7 +266,7 @@ gems:
|
|
198
266
|
source:
|
199
267
|
type: git
|
200
268
|
name: ruby/gem_rbs_collection
|
201
|
-
revision:
|
269
|
+
revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
|
202
270
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
203
271
|
repo_dir: gems
|
204
272
|
- name: rails-dom-testing
|
@@ -206,7 +274,23 @@ gems:
|
|
206
274
|
source:
|
207
275
|
type: git
|
208
276
|
name: ruby/gem_rbs_collection
|
209
|
-
revision:
|
277
|
+
revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
|
278
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
279
|
+
repo_dir: gems
|
280
|
+
- name: rails-html-sanitizer
|
281
|
+
version: '1.6'
|
282
|
+
source:
|
283
|
+
type: git
|
284
|
+
name: ruby/gem_rbs_collection
|
285
|
+
revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
|
286
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
287
|
+
repo_dir: gems
|
288
|
+
- name: railties
|
289
|
+
version: '6.0'
|
290
|
+
source:
|
291
|
+
type: git
|
292
|
+
name: ruby/gem_rbs_collection
|
293
|
+
revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
|
210
294
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
211
295
|
repo_dir: gems
|
212
296
|
- name: rainbow
|
@@ -214,7 +298,7 @@ gems:
|
|
214
298
|
source:
|
215
299
|
type: git
|
216
300
|
name: ruby/gem_rbs_collection
|
217
|
-
revision:
|
301
|
+
revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
|
218
302
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
219
303
|
repo_dir: gems
|
220
304
|
- name: rake
|
@@ -222,15 +306,23 @@ gems:
|
|
222
306
|
source:
|
223
307
|
type: git
|
224
308
|
name: ruby/gem_rbs_collection
|
225
|
-
revision:
|
309
|
+
revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
|
226
310
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
227
311
|
repo_dir: gems
|
312
|
+
- name: rbs
|
313
|
+
version: 3.9.0
|
314
|
+
source:
|
315
|
+
type: rubygems
|
316
|
+
- name: rdoc
|
317
|
+
version: '0'
|
318
|
+
source:
|
319
|
+
type: stdlib
|
228
320
|
- name: regexp_parser
|
229
321
|
version: '2.8'
|
230
322
|
source:
|
231
323
|
type: git
|
232
324
|
name: ruby/gem_rbs_collection
|
233
|
-
revision:
|
325
|
+
revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
|
234
326
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
235
327
|
repo_dir: gems
|
236
328
|
- name: rubocop
|
@@ -238,7 +330,7 @@ gems:
|
|
238
330
|
source:
|
239
331
|
type: git
|
240
332
|
name: ruby/gem_rbs_collection
|
241
|
-
revision:
|
333
|
+
revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
|
242
334
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
243
335
|
repo_dir: gems
|
244
336
|
- name: rubocop-ast
|
@@ -246,7 +338,7 @@ gems:
|
|
246
338
|
source:
|
247
339
|
type: git
|
248
340
|
name: ruby/gem_rbs_collection
|
249
|
-
revision:
|
341
|
+
revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
|
250
342
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
251
343
|
repo_dir: gems
|
252
344
|
- name: securerandom
|
@@ -257,7 +349,11 @@ gems:
|
|
257
349
|
version: '0'
|
258
350
|
source:
|
259
351
|
type: stdlib
|
260
|
-
- name:
|
352
|
+
- name: socket
|
353
|
+
version: '0'
|
354
|
+
source:
|
355
|
+
type: stdlib
|
356
|
+
- name: stringio
|
261
357
|
version: '0'
|
262
358
|
source:
|
263
359
|
type: stdlib
|
@@ -265,6 +361,14 @@ gems:
|
|
265
361
|
version: '0'
|
266
362
|
source:
|
267
363
|
type: stdlib
|
364
|
+
- name: thor
|
365
|
+
version: '1.2'
|
366
|
+
source:
|
367
|
+
type: git
|
368
|
+
name: ruby/gem_rbs_collection
|
369
|
+
revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
|
370
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
371
|
+
repo_dir: gems
|
268
372
|
- name: time
|
269
373
|
version: '0'
|
270
374
|
source:
|
@@ -282,7 +386,7 @@ gems:
|
|
282
386
|
source:
|
283
387
|
type: git
|
284
388
|
name: ruby/gem_rbs_collection
|
285
|
-
revision:
|
389
|
+
revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
|
286
390
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
287
391
|
repo_dir: gems
|
288
392
|
- name: uri
|
data/rbs_collection.yaml
CHANGED
data/rbs_discard.gemspec
CHANGED
@@ -12,7 +12,7 @@ Gem::Specification.new do |spec|
|
|
12
12
|
spec.description = "A RBS files generator for discard gem"
|
13
13
|
spec.homepage = "https://github.com/tk0miya/rbs_discard"
|
14
14
|
spec.license = "MIT"
|
15
|
-
spec.required_ruby_version = ">=
|
15
|
+
spec.required_ruby_version = ">= 3.1.0"
|
16
16
|
|
17
17
|
spec.metadata["homepage_uri"] = spec.homepage
|
18
18
|
spec.metadata["source_code_uri"] = spec.homepage
|
data/sig/rbs_discard/discard.rbs
CHANGED
@@ -1,19 +1,31 @@
|
|
1
|
+
# Generated from lib/rbs_discard/discard.rb with RBS::Inline
|
2
|
+
|
1
3
|
module RbsDiscard
|
2
4
|
module Discard
|
3
5
|
def self.all: () -> Array[singleton(Discard::Model)]
|
6
|
+
|
7
|
+
# @rbs klass: singleton(Discard::Model)
|
4
8
|
def self.class_to_rbs: (singleton(Discard::Model) klass) -> String
|
5
9
|
|
6
10
|
class Generator
|
11
|
+
include Utils
|
12
|
+
|
7
13
|
attr_reader klass: singleton(Discard::Model)
|
14
|
+
|
8
15
|
attr_reader klass_name: String
|
9
16
|
|
17
|
+
# @rbs klass: singleton(Discard::Model)
|
10
18
|
def initialize: (singleton(Discard::Model) klass) -> void
|
19
|
+
|
11
20
|
def generate: () -> String
|
12
21
|
|
13
22
|
private
|
14
23
|
|
24
|
+
# @rbs rbs: String
|
15
25
|
def format: (String rbs) -> String
|
26
|
+
|
16
27
|
def header: () -> String
|
28
|
+
|
17
29
|
def footer: () -> String
|
18
30
|
end
|
19
31
|
end
|
@@ -1,12 +1,21 @@
|
|
1
|
+
# Generated from lib/rbs_discard/rake_task.rb with RBS::Inline
|
2
|
+
|
1
3
|
module RbsDiscard
|
2
4
|
class RakeTask < Rake::TaskLib
|
3
5
|
attr_accessor name: Symbol
|
6
|
+
|
4
7
|
attr_accessor signature_root_dir: Pathname
|
5
8
|
|
6
|
-
|
9
|
+
# @rbs name: Symbol
|
10
|
+
# @rbs &block: ?(RakeTask) -> void
|
11
|
+
def initialize: (?Symbol name) ?{ (RakeTask) -> void } -> void
|
12
|
+
|
7
13
|
def define_setup_task: () -> void
|
14
|
+
|
8
15
|
def define_generate_base_class_task: () -> void
|
16
|
+
|
9
17
|
def define_generate_task: () -> void
|
18
|
+
|
10
19
|
def define_clean_task: () -> void
|
11
20
|
end
|
12
21
|
end
|
data/sig/rbs_discard.rbs
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rbs_discard
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Takeshi KOMIYA
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-03-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: discard
|
@@ -58,6 +58,7 @@ files:
|
|
58
58
|
- lib/rbs_discard/discard.rb
|
59
59
|
- lib/rbs_discard/rake_task.rb
|
60
60
|
- lib/rbs_discard/sig/discard.rbs
|
61
|
+
- lib/rbs_discard/utils.rb
|
61
62
|
- lib/rbs_discard/version.rb
|
62
63
|
- rbs_collection.lock.yaml
|
63
64
|
- rbs_collection.yaml
|
@@ -66,6 +67,8 @@ files:
|
|
66
67
|
- sig/rbs_discard.rbs
|
67
68
|
- sig/rbs_discard/discard.rbs
|
68
69
|
- sig/rbs_discard/rake_task.rbs
|
70
|
+
- sig/rbs_discard/utils.rbs
|
71
|
+
- sig/rbs_discard/version.rbs
|
69
72
|
- sig/shims/discard.rbs
|
70
73
|
homepage: https://github.com/tk0miya/rbs_discard
|
71
74
|
licenses:
|
@@ -74,7 +77,7 @@ metadata:
|
|
74
77
|
homepage_uri: https://github.com/tk0miya/rbs_discard
|
75
78
|
source_code_uri: https://github.com/tk0miya/rbs_discard
|
76
79
|
changelog_uri: https://github.com/tk0miya/rbs_discard
|
77
|
-
post_install_message:
|
80
|
+
post_install_message:
|
78
81
|
rdoc_options: []
|
79
82
|
require_paths:
|
80
83
|
- lib
|
@@ -82,7 +85,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
82
85
|
requirements:
|
83
86
|
- - ">="
|
84
87
|
- !ruby/object:Gem::Version
|
85
|
-
version:
|
88
|
+
version: 3.1.0
|
86
89
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
87
90
|
requirements:
|
88
91
|
- - ">="
|
@@ -90,7 +93,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
90
93
|
version: '0'
|
91
94
|
requirements: []
|
92
95
|
rubygems_version: 3.4.19
|
93
|
-
signing_key:
|
96
|
+
signing_key:
|
94
97
|
specification_version: 4
|
95
98
|
summary: A RBS files generator for discard gem
|
96
99
|
test_files: []
|