rbs_config 0.2.1 → 1.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/.rubocop.yml +1 -1
- data/lib/rbs_config/config.rb +22 -11
- data/lib/rbs_config/version.rb +1 -1
- data/rbs_collection.lock.yaml +92 -12
- data/rbs_collection.yaml +2 -0
- data/rbs_config.gemspec +1 -1
- data/sig/rbs_config/rails_config.rbs +6 -6
- metadata +4 -6
- data/sig/shims/rake.rbs +0 -18
- data/sig/shims/thor.rbs +0 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 7c379914fccfe5ef6d08534927a87f1df4cfab80f84da0ffe80fd638d2ba35bb
|
|
4
|
+
data.tar.gz: deda4664549517817ae600c005ebfb5af42f12b65ffb437a36879d4092a5a2fb
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: cb35f250bd004771189c8c6b540ac317d8a64ae5c6f8b3e80bbbc11dc19210380cacdd4f15b9184ef0dfe35f9b43648b3abd1de886a0db6dee426328fd57377d
|
|
7
|
+
data.tar.gz: e34cda204e7094262317525dae5c2885a6621dbd9760bb780304faad8df4d2c8806a7998cf5b8dffacf2f37ab438a8bb9fbc68f155323c6f086a294daf1a7730
|
data/.rubocop.yml
CHANGED
data/lib/rbs_config/config.rb
CHANGED
|
@@ -41,17 +41,20 @@ module RbsConfig
|
|
|
41
41
|
|
|
42
42
|
def generate_classes(config)
|
|
43
43
|
config.filter_map do |key, value|
|
|
44
|
-
|
|
44
|
+
case value
|
|
45
|
+
when Array
|
|
46
|
+
generate_classes({ key => value.first }).first if value.first.is_a?(Hash)
|
|
47
|
+
when Hash
|
|
48
|
+
classes = generate_classes(value)
|
|
49
|
+
methods = generate_methods(value)
|
|
45
50
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
end
|
|
54
|
-
RBS
|
|
51
|
+
<<~RBS
|
|
52
|
+
class #{key.camelize}
|
|
53
|
+
#{classes.join("\n")}
|
|
54
|
+
#{methods.join("\n")}
|
|
55
|
+
end
|
|
56
|
+
RBS
|
|
57
|
+
end
|
|
55
58
|
end
|
|
56
59
|
end
|
|
57
60
|
|
|
@@ -78,7 +81,15 @@ module RbsConfig
|
|
|
78
81
|
end
|
|
79
82
|
|
|
80
83
|
def load_config(files)
|
|
81
|
-
files.map
|
|
84
|
+
configs = files.map do |f|
|
|
85
|
+
content = ERB.new(f.read).result
|
|
86
|
+
if YAML.respond_to?(:unsafe_load)
|
|
87
|
+
YAML.unsafe_load(content)
|
|
88
|
+
else
|
|
89
|
+
YAML.load(content) # rubocop:disable Security/YAMLLoad
|
|
90
|
+
end
|
|
91
|
+
end
|
|
92
|
+
configs.inject { |a, b| a.deep_merge(b) }
|
|
82
93
|
end
|
|
83
94
|
end
|
|
84
95
|
end
|
data/lib/rbs_config/version.rb
CHANGED
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: c34ed02f870fb02571f664062eb13ef507702029
|
|
6
6
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
7
7
|
repo_dir: gems
|
|
8
8
|
path: ".gem_rbs_collection"
|
|
@@ -16,7 +16,7 @@ gems:
|
|
|
16
16
|
source:
|
|
17
17
|
type: git
|
|
18
18
|
name: ruby/gem_rbs_collection
|
|
19
|
-
revision:
|
|
19
|
+
revision: c34ed02f870fb02571f664062eb13ef507702029
|
|
20
20
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
21
21
|
repo_dir: gems
|
|
22
22
|
- name: actionview
|
|
@@ -24,7 +24,7 @@ gems:
|
|
|
24
24
|
source:
|
|
25
25
|
type: git
|
|
26
26
|
name: ruby/gem_rbs_collection
|
|
27
|
-
revision:
|
|
27
|
+
revision: c34ed02f870fb02571f664062eb13ef507702029
|
|
28
28
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
29
29
|
repo_dir: gems
|
|
30
30
|
- name: activesupport
|
|
@@ -32,7 +32,7 @@ gems:
|
|
|
32
32
|
source:
|
|
33
33
|
type: git
|
|
34
34
|
name: ruby/gem_rbs_collection
|
|
35
|
-
revision:
|
|
35
|
+
revision: c34ed02f870fb02571f664062eb13ef507702029
|
|
36
36
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
37
37
|
repo_dir: gems
|
|
38
38
|
- name: ast
|
|
@@ -40,7 +40,7 @@ gems:
|
|
|
40
40
|
source:
|
|
41
41
|
type: git
|
|
42
42
|
name: ruby/gem_rbs_collection
|
|
43
|
-
revision:
|
|
43
|
+
revision: c34ed02f870fb02571f664062eb13ef507702029
|
|
44
44
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
45
45
|
repo_dir: gems
|
|
46
46
|
- name: base64
|
|
@@ -56,19 +56,31 @@ gems:
|
|
|
56
56
|
source:
|
|
57
57
|
type: git
|
|
58
58
|
name: ruby/gem_rbs_collection
|
|
59
|
-
revision:
|
|
59
|
+
revision: c34ed02f870fb02571f664062eb13ef507702029
|
|
60
60
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
61
61
|
repo_dir: gems
|
|
62
62
|
- name: date
|
|
63
63
|
version: '0'
|
|
64
64
|
source:
|
|
65
65
|
type: stdlib
|
|
66
|
+
- name: dbm
|
|
67
|
+
version: '0'
|
|
68
|
+
source:
|
|
69
|
+
type: stdlib
|
|
70
|
+
- name: erb
|
|
71
|
+
version: '0'
|
|
72
|
+
source:
|
|
73
|
+
type: stdlib
|
|
74
|
+
- name: fileutils
|
|
75
|
+
version: '0'
|
|
76
|
+
source:
|
|
77
|
+
type: stdlib
|
|
66
78
|
- name: i18n
|
|
67
79
|
version: '1.10'
|
|
68
80
|
source:
|
|
69
81
|
type: git
|
|
70
82
|
name: ruby/gem_rbs_collection
|
|
71
|
-
revision:
|
|
83
|
+
revision: c34ed02f870fb02571f664062eb13ef507702029
|
|
72
84
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
73
85
|
repo_dir: gems
|
|
74
86
|
- name: json
|
|
@@ -100,19 +112,31 @@ gems:
|
|
|
100
112
|
source:
|
|
101
113
|
type: git
|
|
102
114
|
name: ruby/gem_rbs_collection
|
|
103
|
-
revision:
|
|
115
|
+
revision: c34ed02f870fb02571f664062eb13ef507702029
|
|
116
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
117
|
+
repo_dir: gems
|
|
118
|
+
- name: parser
|
|
119
|
+
version: '3.2'
|
|
120
|
+
source:
|
|
121
|
+
type: git
|
|
122
|
+
name: ruby/gem_rbs_collection
|
|
123
|
+
revision: c34ed02f870fb02571f664062eb13ef507702029
|
|
104
124
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
105
125
|
repo_dir: gems
|
|
106
126
|
- name: pathname
|
|
107
127
|
version: '0'
|
|
108
128
|
source:
|
|
109
129
|
type: stdlib
|
|
130
|
+
- name: pstore
|
|
131
|
+
version: '0'
|
|
132
|
+
source:
|
|
133
|
+
type: stdlib
|
|
110
134
|
- name: rack
|
|
111
135
|
version: '2.2'
|
|
112
136
|
source:
|
|
113
137
|
type: git
|
|
114
138
|
name: ruby/gem_rbs_collection
|
|
115
|
-
revision:
|
|
139
|
+
revision: c34ed02f870fb02571f664062eb13ef507702029
|
|
116
140
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
117
141
|
repo_dir: gems
|
|
118
142
|
- name: railties
|
|
@@ -120,7 +144,7 @@ gems:
|
|
|
120
144
|
source:
|
|
121
145
|
type: git
|
|
122
146
|
name: ruby/gem_rbs_collection
|
|
123
|
-
revision:
|
|
147
|
+
revision: c34ed02f870fb02571f664062eb13ef507702029
|
|
124
148
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
125
149
|
repo_dir: gems
|
|
126
150
|
- name: rainbow
|
|
@@ -128,17 +152,49 @@ gems:
|
|
|
128
152
|
source:
|
|
129
153
|
type: git
|
|
130
154
|
name: ruby/gem_rbs_collection
|
|
131
|
-
revision:
|
|
155
|
+
revision: c34ed02f870fb02571f664062eb13ef507702029
|
|
156
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
157
|
+
repo_dir: gems
|
|
158
|
+
- name: rake
|
|
159
|
+
version: '13.0'
|
|
160
|
+
source:
|
|
161
|
+
type: git
|
|
162
|
+
name: ruby/gem_rbs_collection
|
|
163
|
+
revision: c34ed02f870fb02571f664062eb13ef507702029
|
|
132
164
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
133
165
|
repo_dir: gems
|
|
134
166
|
- name: rbs
|
|
135
|
-
version: 3.
|
|
167
|
+
version: 3.1.3
|
|
136
168
|
source:
|
|
137
169
|
type: rubygems
|
|
138
170
|
- name: rdoc
|
|
139
171
|
version: '0'
|
|
140
172
|
source:
|
|
141
173
|
type: stdlib
|
|
174
|
+
- name: regexp_parser
|
|
175
|
+
version: '2.8'
|
|
176
|
+
source:
|
|
177
|
+
type: git
|
|
178
|
+
name: ruby/gem_rbs_collection
|
|
179
|
+
revision: c34ed02f870fb02571f664062eb13ef507702029
|
|
180
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
181
|
+
repo_dir: gems
|
|
182
|
+
- name: rubocop
|
|
183
|
+
version: '1.57'
|
|
184
|
+
source:
|
|
185
|
+
type: git
|
|
186
|
+
name: ruby/gem_rbs_collection
|
|
187
|
+
revision: c34ed02f870fb02571f664062eb13ef507702029
|
|
188
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
189
|
+
repo_dir: gems
|
|
190
|
+
- name: rubocop-ast
|
|
191
|
+
version: '1.30'
|
|
192
|
+
source:
|
|
193
|
+
type: git
|
|
194
|
+
name: ruby/gem_rbs_collection
|
|
195
|
+
revision: c34ed02f870fb02571f664062eb13ef507702029
|
|
196
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
197
|
+
repo_dir: gems
|
|
142
198
|
- name: securerandom
|
|
143
199
|
version: '0'
|
|
144
200
|
source:
|
|
@@ -147,10 +203,22 @@ gems:
|
|
|
147
203
|
version: '0'
|
|
148
204
|
source:
|
|
149
205
|
type: stdlib
|
|
206
|
+
- name: strscan
|
|
207
|
+
version: '0'
|
|
208
|
+
source:
|
|
209
|
+
type: stdlib
|
|
150
210
|
- name: tempfile
|
|
151
211
|
version: '0'
|
|
152
212
|
source:
|
|
153
213
|
type: stdlib
|
|
214
|
+
- name: thor
|
|
215
|
+
version: '1.2'
|
|
216
|
+
source:
|
|
217
|
+
type: git
|
|
218
|
+
name: ruby/gem_rbs_collection
|
|
219
|
+
revision: c34ed02f870fb02571f664062eb13ef507702029
|
|
220
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
221
|
+
repo_dir: gems
|
|
154
222
|
- name: time
|
|
155
223
|
version: '0'
|
|
156
224
|
source:
|
|
@@ -159,8 +227,20 @@ gems:
|
|
|
159
227
|
version: '0'
|
|
160
228
|
source:
|
|
161
229
|
type: stdlib
|
|
230
|
+
- name: tzinfo
|
|
231
|
+
version: '2.0'
|
|
232
|
+
source:
|
|
233
|
+
type: git
|
|
234
|
+
name: ruby/gem_rbs_collection
|
|
235
|
+
revision: c34ed02f870fb02571f664062eb13ef507702029
|
|
236
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
237
|
+
repo_dir: gems
|
|
162
238
|
- name: uri
|
|
163
239
|
version: '0'
|
|
164
240
|
source:
|
|
165
241
|
type: stdlib
|
|
242
|
+
- name: yaml
|
|
243
|
+
version: '0'
|
|
244
|
+
source:
|
|
245
|
+
type: stdlib
|
|
166
246
|
gemfile_lock_path: Gemfile.lock
|
data/rbs_collection.yaml
CHANGED
data/rbs_config.gemspec
CHANGED
|
@@ -12,7 +12,7 @@ Gem::Specification.new do |spec|
|
|
|
12
12
|
spec.description = "A RBS files generator for Config gem"
|
|
13
13
|
spec.homepage = "https://github.com/tk0miya/rbs_config"
|
|
14
14
|
spec.license = "MIT"
|
|
15
|
-
spec.required_ruby_version = ">= 2.
|
|
15
|
+
spec.required_ruby_version = ">= 2.7.0"
|
|
16
16
|
|
|
17
17
|
spec.metadata["homepage_uri"] = spec.homepage
|
|
18
18
|
spec.metadata["source_code_uri"] = spec.homepage
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
module RbsConfig
|
|
2
2
|
module RailsConfig
|
|
3
|
-
def self.generate: (mapping: Hash[untyped, Hash[untyped, untyped] | ActiveSupport::OrderedOptions
|
|
3
|
+
def self.generate: (mapping: Hash[untyped, Hash[untyped, untyped] | ActiveSupport::OrderedOptions]) -> String
|
|
4
4
|
|
|
5
5
|
class Generator
|
|
6
|
-
attr_reader mapping: Hash[untyped, Hash[untyped, untyped] | ActiveSupport::OrderedOptions
|
|
6
|
+
attr_reader mapping: Hash[untyped, Hash[untyped, untyped] | ActiveSupport::OrderedOptions]
|
|
7
7
|
|
|
8
|
-
def initialize: (mapping: Hash[untyped, Hash[untyped, untyped] | ActiveSupport::OrderedOptions
|
|
8
|
+
def initialize: (mapping: Hash[untyped, Hash[untyped, untyped] | ActiveSupport::OrderedOptions]) -> void
|
|
9
9
|
def generate: () -> String
|
|
10
10
|
|
|
11
11
|
private
|
|
12
12
|
|
|
13
13
|
def format: (String rbs) -> String
|
|
14
|
-
def generate_classes: (Hash[untyped, untyped] | ActiveSupport::OrderedOptions
|
|
15
|
-
def generate_methods: (Hash[untyped, untyped] | ActiveSupport::OrderedOptions
|
|
16
|
-
def generate_ordered_options_methods: (ActiveSupport::OrderedOptions
|
|
14
|
+
def generate_classes: (Hash[untyped, untyped] | ActiveSupport::OrderedOptions config) -> Array[String]
|
|
15
|
+
def generate_methods: (Hash[untyped, untyped] | ActiveSupport::OrderedOptions config) -> Array[string]
|
|
16
|
+
def generate_ordered_options_methods: (ActiveSupport::OrderedOptions config) -> Array[string]
|
|
17
17
|
def generate_hash_methods: (Hash[untyped, untyped]) -> Array[string]
|
|
18
18
|
def stringify_type: (untyped name, untyped value) -> String
|
|
19
19
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: rbs_config
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 1.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Takeshi KOMIYA
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2024-08-18 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activesupport
|
|
@@ -66,8 +66,6 @@ files:
|
|
|
66
66
|
- sig/rbs_config/config.rbs
|
|
67
67
|
- sig/rbs_config/rails_config.rbs
|
|
68
68
|
- sig/rbs_config/rake_task.rbs
|
|
69
|
-
- sig/shims/rake.rbs
|
|
70
|
-
- sig/shims/thor.rbs
|
|
71
69
|
homepage: https://github.com/tk0miya/rbs_config
|
|
72
70
|
licenses:
|
|
73
71
|
- MIT
|
|
@@ -83,14 +81,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
83
81
|
requirements:
|
|
84
82
|
- - ">="
|
|
85
83
|
- !ruby/object:Gem::Version
|
|
86
|
-
version: 2.
|
|
84
|
+
version: 2.7.0
|
|
87
85
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
88
86
|
requirements:
|
|
89
87
|
- - ">="
|
|
90
88
|
- !ruby/object:Gem::Version
|
|
91
89
|
version: '0'
|
|
92
90
|
requirements: []
|
|
93
|
-
rubygems_version: 3.4.
|
|
91
|
+
rubygems_version: 3.4.19
|
|
94
92
|
signing_key:
|
|
95
93
|
specification_version: 4
|
|
96
94
|
summary: A RBS files generator for Config gem
|
data/sig/shims/rake.rbs
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
module Rake
|
|
2
|
-
class TaskLib
|
|
3
|
-
include Rake::DSL
|
|
4
|
-
end
|
|
5
|
-
|
|
6
|
-
module DSL
|
|
7
|
-
private
|
|
8
|
-
|
|
9
|
-
def desc: (String description) -> void
|
|
10
|
-
def file: (*untyped args) ?{ () -> void } -> void
|
|
11
|
-
def import: (*String fns) -> void
|
|
12
|
-
def multitask: (*untyped args) ?{ () -> void } -> void
|
|
13
|
-
def namespace: (?String? name) ?{ () -> void } -> void
|
|
14
|
-
def rule: (*untyped args) ?{ () -> void } -> void
|
|
15
|
-
def task: (*untyped args) ?{ () -> void } -> void
|
|
16
|
-
def sh: (*String cmd) ?{ (bool, Process::Status) -> void } -> void
|
|
17
|
-
end
|
|
18
|
-
end
|