rbs_config 0.2.0 → 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/generators/rbs_config/install_generator.rb +4 -1
- data/lib/rbs_config/config.rb +22 -11
- data/lib/rbs_config/version.rb +1 -1
- data/rbs_collection.lock.yaml +132 -8
- data/rbs_collection.yaml +6 -0
- data/rbs_config.gemspec +1 -1
- data/sig/rbs_config/config.rbs +1 -1
- data/sig/rbs_config/rails_config.rbs +6 -6
- data/sig/rbs_config/rake_task.rbs +1 -0
- metadata +4 -5
- data/sig/shims/rake.rbs +0 -18
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
@@ -7,7 +7,10 @@ module RbsConfig
|
|
7
7
|
def create_raketask
|
8
8
|
create_file "lib/tasks/rbs_config.rake", <<~RUBY
|
9
9
|
begin
|
10
|
-
|
10
|
+
# frozen_string_literal: true
|
11
|
+
|
12
|
+
require "rbs_config/rake_task"
|
13
|
+
|
11
14
|
RbsConfig::RakeTask.new do |task|
|
12
15
|
# The type of configuration (default: :config)
|
13
16
|
# task.type = :config | :rails
|
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"
|
@@ -11,12 +11,28 @@ gems:
|
|
11
11
|
version: '0'
|
12
12
|
source:
|
13
13
|
type: stdlib
|
14
|
+
- name: actionpack
|
15
|
+
version: '6.0'
|
16
|
+
source:
|
17
|
+
type: git
|
18
|
+
name: ruby/gem_rbs_collection
|
19
|
+
revision: c34ed02f870fb02571f664062eb13ef507702029
|
20
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
21
|
+
repo_dir: gems
|
22
|
+
- name: actionview
|
23
|
+
version: '6.0'
|
24
|
+
source:
|
25
|
+
type: git
|
26
|
+
name: ruby/gem_rbs_collection
|
27
|
+
revision: c34ed02f870fb02571f664062eb13ef507702029
|
28
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
29
|
+
repo_dir: gems
|
14
30
|
- name: activesupport
|
15
31
|
version: '7.0'
|
16
32
|
source:
|
17
33
|
type: git
|
18
34
|
name: ruby/gem_rbs_collection
|
19
|
-
revision:
|
35
|
+
revision: c34ed02f870fb02571f664062eb13ef507702029
|
20
36
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
21
37
|
repo_dir: gems
|
22
38
|
- name: ast
|
@@ -24,31 +40,47 @@ gems:
|
|
24
40
|
source:
|
25
41
|
type: git
|
26
42
|
name: ruby/gem_rbs_collection
|
27
|
-
revision:
|
43
|
+
revision: c34ed02f870fb02571f664062eb13ef507702029
|
28
44
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
29
45
|
repo_dir: gems
|
30
46
|
- name: base64
|
31
47
|
version: '0'
|
32
48
|
source:
|
33
49
|
type: stdlib
|
50
|
+
- name: cgi
|
51
|
+
version: '0'
|
52
|
+
source:
|
53
|
+
type: stdlib
|
34
54
|
- name: concurrent-ruby
|
35
55
|
version: '1.1'
|
36
56
|
source:
|
37
57
|
type: git
|
38
58
|
name: ruby/gem_rbs_collection
|
39
|
-
revision:
|
59
|
+
revision: c34ed02f870fb02571f664062eb13ef507702029
|
40
60
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
41
61
|
repo_dir: gems
|
42
62
|
- name: date
|
43
63
|
version: '0'
|
44
64
|
source:
|
45
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
|
46
78
|
- name: i18n
|
47
79
|
version: '1.10'
|
48
80
|
source:
|
49
81
|
type: git
|
50
82
|
name: ruby/gem_rbs_collection
|
51
|
-
revision:
|
83
|
+
revision: c34ed02f870fb02571f664062eb13ef507702029
|
52
84
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
53
85
|
repo_dir: gems
|
54
86
|
- name: json
|
@@ -80,29 +112,89 @@ gems:
|
|
80
112
|
source:
|
81
113
|
type: git
|
82
114
|
name: ruby/gem_rbs_collection
|
83
|
-
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
|
84
124
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
85
125
|
repo_dir: gems
|
86
126
|
- name: pathname
|
87
127
|
version: '0'
|
88
128
|
source:
|
89
129
|
type: stdlib
|
130
|
+
- name: pstore
|
131
|
+
version: '0'
|
132
|
+
source:
|
133
|
+
type: stdlib
|
134
|
+
- name: rack
|
135
|
+
version: '2.2'
|
136
|
+
source:
|
137
|
+
type: git
|
138
|
+
name: ruby/gem_rbs_collection
|
139
|
+
revision: c34ed02f870fb02571f664062eb13ef507702029
|
140
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
141
|
+
repo_dir: gems
|
142
|
+
- name: railties
|
143
|
+
version: '6.0'
|
144
|
+
source:
|
145
|
+
type: git
|
146
|
+
name: ruby/gem_rbs_collection
|
147
|
+
revision: c34ed02f870fb02571f664062eb13ef507702029
|
148
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
149
|
+
repo_dir: gems
|
90
150
|
- name: rainbow
|
91
151
|
version: '3.0'
|
92
152
|
source:
|
93
153
|
type: git
|
94
154
|
name: ruby/gem_rbs_collection
|
95
|
-
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
|
96
164
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
97
165
|
repo_dir: gems
|
98
166
|
- name: rbs
|
99
|
-
version: 3.
|
167
|
+
version: 3.1.3
|
100
168
|
source:
|
101
169
|
type: rubygems
|
102
170
|
- name: rdoc
|
103
171
|
version: '0'
|
104
172
|
source:
|
105
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
|
106
198
|
- name: securerandom
|
107
199
|
version: '0'
|
108
200
|
source:
|
@@ -111,6 +203,22 @@ gems:
|
|
111
203
|
version: '0'
|
112
204
|
source:
|
113
205
|
type: stdlib
|
206
|
+
- name: strscan
|
207
|
+
version: '0'
|
208
|
+
source:
|
209
|
+
type: stdlib
|
210
|
+
- name: tempfile
|
211
|
+
version: '0'
|
212
|
+
source:
|
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
|
114
222
|
- name: time
|
115
223
|
version: '0'
|
116
224
|
source:
|
@@ -119,4 +227,20 @@ gems:
|
|
119
227
|
version: '0'
|
120
228
|
source:
|
121
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
|
238
|
+
- name: uri
|
239
|
+
version: '0'
|
240
|
+
source:
|
241
|
+
type: stdlib
|
242
|
+
- name: yaml
|
243
|
+
version: '0'
|
244
|
+
source:
|
245
|
+
type: stdlib
|
122
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
|
data/sig/rbs_config/config.rbs
CHANGED
@@ -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
|
@@ -4,6 +4,7 @@ module RbsConfig
|
|
4
4
|
attr_accessor class_name: String
|
5
5
|
attr_accessor files: Array[Pathname]
|
6
6
|
attr_accessor name: Symbol
|
7
|
+
attr_accessor mapping: Hash[untyped, Hash[untyped, untyped]]
|
7
8
|
attr_accessor signature_root_dir: Pathname
|
8
9
|
|
9
10
|
def initialize: (?Symbol name) ? { (RbsConfig::RakeTask) -> void } -> void
|
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,7 +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
69
|
homepage: https://github.com/tk0miya/rbs_config
|
71
70
|
licenses:
|
72
71
|
- MIT
|
@@ -82,14 +81,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
82
81
|
requirements:
|
83
82
|
- - ">="
|
84
83
|
- !ruby/object:Gem::Version
|
85
|
-
version: 2.
|
84
|
+
version: 2.7.0
|
86
85
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
87
86
|
requirements:
|
88
87
|
- - ">="
|
89
88
|
- !ruby/object:Gem::Version
|
90
89
|
version: '0'
|
91
90
|
requirements: []
|
92
|
-
rubygems_version: 3.4.
|
91
|
+
rubygems_version: 3.4.19
|
93
92
|
signing_key:
|
94
93
|
specification_version: 4
|
95
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
|