rbs_rails 0.12.1 → 0.13.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/.github/workflows/ci.yml +1 -1
- data/.github/workflows/release.yml +27 -0
- data/CHANGELOG.md +56 -0
- data/Gemfile +7 -1
- data/Gemfile.lock +111 -93
- data/README.md +46 -1
- data/Rakefile +7 -2
- data/example/rbs_rails.rb +27 -0
- data/exe/rbs_rails +6 -0
- data/lib/generators/rbs_rails/install_generator.rb +1 -10
- data/lib/rbs_rails/active_record/enum.rb +81 -0
- data/lib/rbs_rails/active_record.rb +233 -143
- data/lib/rbs_rails/cli/configuration.rb +66 -0
- data/lib/rbs_rails/cli.rb +173 -0
- data/lib/rbs_rails/dependency_builder.rb +25 -8
- data/lib/rbs_rails/path_helpers.rb +14 -2
- data/lib/rbs_rails/rake_task.rb +38 -40
- data/lib/rbs_rails/util/file_writer.rb +22 -0
- data/lib/rbs_rails/util.rb +11 -4
- data/lib/rbs_rails/version.rb +1 -1
- data/lib/rbs_rails.rb +5 -2
- data/rbs_collection.lock.yaml +86 -38
- data/rbs_collection.yaml +1 -16
- data/rbs_rails.gemspec +1 -0
- data/sig/{install_generator.rbs → generators/rbs_rails/install_generator.rbs} +2 -0
- data/sig/rbs_rails/active_record/enum.rbs +26 -0
- data/sig/rbs_rails/active_record.rbs +67 -49
- data/sig/rbs_rails/cli/configuration.rbs +37 -0
- data/sig/rbs_rails/cli.rbs +35 -0
- data/sig/rbs_rails/dependency_builder.rbs +7 -3
- data/sig/rbs_rails/path_helpers.rbs +13 -6
- data/sig/rbs_rails/rake_task.rbs +7 -6
- data/sig/rbs_rails/util/file_writer.rbs +16 -0
- data/sig/rbs_rails/util.rbs +7 -2
- data/sig/rbs_rails/utils/file_writer.rbs +4 -0
- data/sig/rbs_rails/version.rbs +5 -1
- data/sig/rbs_rails.rbs +6 -3
- metadata +32 -8
- data/sig/_internal/activerecord.rbs +0 -4
- data/sig/parser.rbs +0 -14
- data/sig/rake.rbs +0 -6
data/rbs_collection.lock.yaml
CHANGED
|
@@ -6,7 +6,7 @@ gems:
|
|
|
6
6
|
source:
|
|
7
7
|
type: git
|
|
8
8
|
name: ruby/gem_rbs_collection
|
|
9
|
-
revision:
|
|
9
|
+
revision: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
10
10
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
11
11
|
repo_dir: gems
|
|
12
12
|
- name: actionmailer
|
|
@@ -14,7 +14,7 @@ gems:
|
|
|
14
14
|
source:
|
|
15
15
|
type: git
|
|
16
16
|
name: ruby/gem_rbs_collection
|
|
17
|
-
revision:
|
|
17
|
+
revision: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
18
18
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
19
19
|
repo_dir: gems
|
|
20
20
|
- name: actionpack
|
|
@@ -22,7 +22,7 @@ gems:
|
|
|
22
22
|
source:
|
|
23
23
|
type: git
|
|
24
24
|
name: ruby/gem_rbs_collection
|
|
25
|
-
revision:
|
|
25
|
+
revision: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
26
26
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
27
27
|
repo_dir: gems
|
|
28
28
|
- name: actiontext
|
|
@@ -30,7 +30,7 @@ gems:
|
|
|
30
30
|
source:
|
|
31
31
|
type: git
|
|
32
32
|
name: ruby/gem_rbs_collection
|
|
33
|
-
revision:
|
|
33
|
+
revision: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
34
34
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
35
35
|
repo_dir: gems
|
|
36
36
|
- name: actionview
|
|
@@ -38,7 +38,7 @@ gems:
|
|
|
38
38
|
source:
|
|
39
39
|
type: git
|
|
40
40
|
name: ruby/gem_rbs_collection
|
|
41
|
-
revision:
|
|
41
|
+
revision: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
42
42
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
43
43
|
repo_dir: gems
|
|
44
44
|
- name: activejob
|
|
@@ -46,15 +46,15 @@ gems:
|
|
|
46
46
|
source:
|
|
47
47
|
type: git
|
|
48
48
|
name: ruby/gem_rbs_collection
|
|
49
|
-
revision:
|
|
49
|
+
revision: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
50
50
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
51
51
|
repo_dir: gems
|
|
52
52
|
- name: activemodel
|
|
53
|
-
version: '7.
|
|
53
|
+
version: '7.1'
|
|
54
54
|
source:
|
|
55
55
|
type: git
|
|
56
56
|
name: ruby/gem_rbs_collection
|
|
57
|
-
revision:
|
|
57
|
+
revision: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
58
58
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
59
59
|
repo_dir: gems
|
|
60
60
|
- name: activerecord
|
|
@@ -62,7 +62,7 @@ gems:
|
|
|
62
62
|
source:
|
|
63
63
|
type: git
|
|
64
64
|
name: ruby/gem_rbs_collection
|
|
65
|
-
revision:
|
|
65
|
+
revision: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
66
66
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
67
67
|
repo_dir: gems
|
|
68
68
|
- name: activestorage
|
|
@@ -70,7 +70,7 @@ gems:
|
|
|
70
70
|
source:
|
|
71
71
|
type: git
|
|
72
72
|
name: ruby/gem_rbs_collection
|
|
73
|
-
revision:
|
|
73
|
+
revision: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
74
74
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
75
75
|
repo_dir: gems
|
|
76
76
|
- name: activesupport
|
|
@@ -78,21 +78,33 @@ gems:
|
|
|
78
78
|
source:
|
|
79
79
|
type: git
|
|
80
80
|
name: ruby/gem_rbs_collection
|
|
81
|
-
revision:
|
|
81
|
+
revision: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
82
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
83
|
+
repo_dir: gems
|
|
84
|
+
- name: ast
|
|
85
|
+
version: '2.4'
|
|
86
|
+
source:
|
|
87
|
+
type: git
|
|
88
|
+
name: ruby/gem_rbs_collection
|
|
89
|
+
revision: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
82
90
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
83
91
|
repo_dir: gems
|
|
84
92
|
- name: base64
|
|
85
|
-
version:
|
|
93
|
+
version: 0.3.0
|
|
86
94
|
source:
|
|
87
|
-
type:
|
|
95
|
+
type: rubygems
|
|
88
96
|
- name: benchmark
|
|
89
97
|
version: '0'
|
|
90
98
|
source:
|
|
91
99
|
type: stdlib
|
|
92
100
|
- name: bigdecimal
|
|
93
|
-
version: '
|
|
101
|
+
version: '3.1'
|
|
94
102
|
source:
|
|
95
|
-
type:
|
|
103
|
+
type: git
|
|
104
|
+
name: ruby/gem_rbs_collection
|
|
105
|
+
revision: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
106
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
107
|
+
repo_dir: gems
|
|
96
108
|
- name: cgi
|
|
97
109
|
version: '0'
|
|
98
110
|
source:
|
|
@@ -102,7 +114,7 @@ gems:
|
|
|
102
114
|
source:
|
|
103
115
|
type: git
|
|
104
116
|
name: ruby/gem_rbs_collection
|
|
105
|
-
revision:
|
|
117
|
+
revision: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
106
118
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
107
119
|
repo_dir: gems
|
|
108
120
|
- name: connection_pool
|
|
@@ -110,7 +122,7 @@ gems:
|
|
|
110
122
|
source:
|
|
111
123
|
type: git
|
|
112
124
|
name: ruby/gem_rbs_collection
|
|
113
|
-
revision:
|
|
125
|
+
revision: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
114
126
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
115
127
|
repo_dir: gems
|
|
116
128
|
- name: date
|
|
@@ -125,6 +137,10 @@ gems:
|
|
|
125
137
|
version: '0'
|
|
126
138
|
source:
|
|
127
139
|
type: stdlib
|
|
140
|
+
- name: digest
|
|
141
|
+
version: '0'
|
|
142
|
+
source:
|
|
143
|
+
type: stdlib
|
|
128
144
|
- name: erb
|
|
129
145
|
version: '0'
|
|
130
146
|
source:
|
|
@@ -133,12 +149,16 @@ gems:
|
|
|
133
149
|
version: '0'
|
|
134
150
|
source:
|
|
135
151
|
type: stdlib
|
|
152
|
+
- name: forwardable
|
|
153
|
+
version: '0'
|
|
154
|
+
source:
|
|
155
|
+
type: stdlib
|
|
136
156
|
- name: globalid
|
|
137
157
|
version: '1.1'
|
|
138
158
|
source:
|
|
139
159
|
type: git
|
|
140
160
|
name: ruby/gem_rbs_collection
|
|
141
|
-
revision:
|
|
161
|
+
revision: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
142
162
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
143
163
|
repo_dir: gems
|
|
144
164
|
- name: i18n
|
|
@@ -146,7 +166,7 @@ gems:
|
|
|
146
166
|
source:
|
|
147
167
|
type: git
|
|
148
168
|
name: ruby/gem_rbs_collection
|
|
149
|
-
revision:
|
|
169
|
+
revision: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
150
170
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
151
171
|
repo_dir: gems
|
|
152
172
|
- name: io-console
|
|
@@ -166,7 +186,7 @@ gems:
|
|
|
166
186
|
source:
|
|
167
187
|
type: git
|
|
168
188
|
name: ruby/gem_rbs_collection
|
|
169
|
-
revision:
|
|
189
|
+
revision: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
170
190
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
171
191
|
repo_dir: gems
|
|
172
192
|
- name: marcel
|
|
@@ -174,7 +194,7 @@ gems:
|
|
|
174
194
|
source:
|
|
175
195
|
type: git
|
|
176
196
|
name: ruby/gem_rbs_collection
|
|
177
|
-
revision:
|
|
197
|
+
revision: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
178
198
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
179
199
|
repo_dir: gems
|
|
180
200
|
- name: mini_mime
|
|
@@ -182,29 +202,41 @@ gems:
|
|
|
182
202
|
source:
|
|
183
203
|
type: git
|
|
184
204
|
name: ruby/gem_rbs_collection
|
|
185
|
-
revision:
|
|
205
|
+
revision: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
186
206
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
187
207
|
repo_dir: gems
|
|
188
208
|
- name: minitest
|
|
189
|
-
version: '
|
|
209
|
+
version: '5.25'
|
|
190
210
|
source:
|
|
191
|
-
type:
|
|
211
|
+
type: git
|
|
212
|
+
name: ruby/gem_rbs_collection
|
|
213
|
+
revision: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
214
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
215
|
+
repo_dir: gems
|
|
192
216
|
- name: monitor
|
|
193
217
|
version: '0'
|
|
194
218
|
source:
|
|
195
219
|
type: stdlib
|
|
196
|
-
- name: mutex_m
|
|
197
|
-
version: '0'
|
|
198
|
-
source:
|
|
199
|
-
type: stdlib
|
|
200
220
|
- name: net-protocol
|
|
201
221
|
version: '0'
|
|
202
222
|
source:
|
|
203
223
|
type: stdlib
|
|
204
224
|
- name: net-smtp
|
|
205
|
-
version: '0'
|
|
225
|
+
version: '0.5'
|
|
206
226
|
source:
|
|
207
|
-
type:
|
|
227
|
+
type: git
|
|
228
|
+
name: ruby/gem_rbs_collection
|
|
229
|
+
revision: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
230
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
231
|
+
repo_dir: gems
|
|
232
|
+
- name: nokogiri
|
|
233
|
+
version: '1.11'
|
|
234
|
+
source:
|
|
235
|
+
type: git
|
|
236
|
+
name: ruby/gem_rbs_collection
|
|
237
|
+
revision: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
238
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
239
|
+
repo_dir: gems
|
|
208
240
|
- name: openssl
|
|
209
241
|
version: '0'
|
|
210
242
|
source:
|
|
@@ -213,10 +245,22 @@ gems:
|
|
|
213
245
|
version: '0'
|
|
214
246
|
source:
|
|
215
247
|
type: stdlib
|
|
248
|
+
- name: parser
|
|
249
|
+
version: '3.2'
|
|
250
|
+
source:
|
|
251
|
+
type: git
|
|
252
|
+
name: ruby/gem_rbs_collection
|
|
253
|
+
revision: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
254
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
255
|
+
repo_dir: gems
|
|
216
256
|
- name: pathname
|
|
217
257
|
version: '0'
|
|
218
258
|
source:
|
|
219
259
|
type: stdlib
|
|
260
|
+
- name: prism
|
|
261
|
+
version: 1.2.0
|
|
262
|
+
source:
|
|
263
|
+
type: rubygems
|
|
220
264
|
- name: pstore
|
|
221
265
|
version: '0'
|
|
222
266
|
source:
|
|
@@ -230,7 +274,7 @@ gems:
|
|
|
230
274
|
source:
|
|
231
275
|
type: git
|
|
232
276
|
name: ruby/gem_rbs_collection
|
|
233
|
-
revision:
|
|
277
|
+
revision: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
234
278
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
235
279
|
repo_dir: gems
|
|
236
280
|
- name: rails-dom-testing
|
|
@@ -238,7 +282,7 @@ gems:
|
|
|
238
282
|
source:
|
|
239
283
|
type: git
|
|
240
284
|
name: ruby/gem_rbs_collection
|
|
241
|
-
revision:
|
|
285
|
+
revision: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
242
286
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
243
287
|
repo_dir: gems
|
|
244
288
|
- name: rails-html-sanitizer
|
|
@@ -246,7 +290,7 @@ gems:
|
|
|
246
290
|
source:
|
|
247
291
|
type: git
|
|
248
292
|
name: ruby/gem_rbs_collection
|
|
249
|
-
revision:
|
|
293
|
+
revision: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
250
294
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
251
295
|
repo_dir: gems
|
|
252
296
|
- name: railties
|
|
@@ -254,7 +298,7 @@ gems:
|
|
|
254
298
|
source:
|
|
255
299
|
type: git
|
|
256
300
|
name: ruby/gem_rbs_collection
|
|
257
|
-
revision:
|
|
301
|
+
revision: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
258
302
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
259
303
|
repo_dir: gems
|
|
260
304
|
- name: rake
|
|
@@ -262,11 +306,11 @@ gems:
|
|
|
262
306
|
source:
|
|
263
307
|
type: git
|
|
264
308
|
name: ruby/gem_rbs_collection
|
|
265
|
-
revision:
|
|
309
|
+
revision: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
266
310
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
267
311
|
repo_dir: gems
|
|
268
312
|
- name: rbs
|
|
269
|
-
version: 3.
|
|
313
|
+
version: 3.9.2
|
|
270
314
|
source:
|
|
271
315
|
type: rubygems
|
|
272
316
|
- name: rdoc
|
|
@@ -285,6 +329,10 @@ gems:
|
|
|
285
329
|
version: '0'
|
|
286
330
|
source:
|
|
287
331
|
type: stdlib
|
|
332
|
+
- name: stringio
|
|
333
|
+
version: '0'
|
|
334
|
+
source:
|
|
335
|
+
type: stdlib
|
|
288
336
|
- name: tempfile
|
|
289
337
|
version: '0'
|
|
290
338
|
source:
|
|
@@ -294,7 +342,7 @@ gems:
|
|
|
294
342
|
source:
|
|
295
343
|
type: git
|
|
296
344
|
name: ruby/gem_rbs_collection
|
|
297
|
-
revision:
|
|
345
|
+
revision: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
298
346
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
299
347
|
repo_dir: gems
|
|
300
348
|
- name: time
|
|
@@ -314,7 +362,7 @@ gems:
|
|
|
314
362
|
source:
|
|
315
363
|
type: git
|
|
316
364
|
name: ruby/gem_rbs_collection
|
|
317
|
-
revision:
|
|
365
|
+
revision: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
318
366
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
319
367
|
repo_dir: gems
|
|
320
368
|
- name: uri
|
data/rbs_collection.yaml
CHANGED
|
@@ -9,22 +9,6 @@ sources:
|
|
|
9
9
|
path: .gem_rbs_collection
|
|
10
10
|
|
|
11
11
|
gems:
|
|
12
|
-
# Ignores - Gemfile.lock contains them but their RBSs are unnecessary
|
|
13
|
-
- name: steep
|
|
14
|
-
ignore: true
|
|
15
|
-
- name: nokogiri
|
|
16
|
-
ignore: true
|
|
17
|
-
- name: ast
|
|
18
|
-
ignore: true
|
|
19
|
-
- name: rainbow
|
|
20
|
-
ignore: true
|
|
21
|
-
- name: listen
|
|
22
|
-
ignore: true
|
|
23
|
-
|
|
24
|
-
# ignore RBS Rails itself
|
|
25
|
-
- name: rbs_rails
|
|
26
|
-
ignore: true
|
|
27
|
-
|
|
28
12
|
# They'are necessary to load RBS gem.
|
|
29
13
|
# See https://github.com/ruby/rbs/pull/921
|
|
30
14
|
- name: logger
|
|
@@ -32,3 +16,4 @@ gems:
|
|
|
32
16
|
- name: json
|
|
33
17
|
- name: optparse
|
|
34
18
|
- name: tsort
|
|
19
|
+
- name: forwardable
|
data/rbs_rails.gemspec
CHANGED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Generated from lib/rbs_rails/active_record/enum.rb with RBS::Inline
|
|
2
|
+
|
|
3
|
+
module RbsRails
|
|
4
|
+
module ActiveRecord
|
|
5
|
+
module Enum
|
|
6
|
+
IGNORED_ENUM_KEYS: ::Array[untyped]
|
|
7
|
+
|
|
8
|
+
type definitions = Hash[Symbol, Array[Symbol] | Hash[Symbol, untyped]]
|
|
9
|
+
|
|
10
|
+
type options = Hash[Symbol, untyped]
|
|
11
|
+
|
|
12
|
+
type enum_definitions = Array[[ definitions, options ]]
|
|
13
|
+
|
|
14
|
+
@enum_definitions: enum_definitions
|
|
15
|
+
|
|
16
|
+
def enum: (*untyped args, **untyped options) -> void
|
|
17
|
+
|
|
18
|
+
def enum_definitions: () -> Array[[ Symbol, String ]]
|
|
19
|
+
|
|
20
|
+
# @rbs name: Symbol
|
|
21
|
+
# @rbs label: Symbol
|
|
22
|
+
# @rbs options: Hash[Symbol, untyped]
|
|
23
|
+
private def enum_method_name: (Symbol name, Symbol label, Hash[Symbol, untyped] options) -> String
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -1,87 +1,105 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
# Generated from lib/rbs_rails/active_record.rb with RBS::Inline
|
|
2
|
+
|
|
3
|
+
module RbsRails
|
|
4
|
+
module ActiveRecord
|
|
5
|
+
# @rbs klass: untyped
|
|
6
|
+
def self.generatable?: (untyped klass) -> boolish
|
|
7
|
+
|
|
8
|
+
# @rbs klass: untyped
|
|
9
|
+
# @rbs dependencies: Array[String]
|
|
10
|
+
def self.class_to_rbs: (untyped klass) -> untyped
|
|
11
|
+
|
|
12
|
+
class Generator
|
|
13
|
+
IGNORED_ENUM_KEYS: Array[Symbol]
|
|
14
|
+
|
|
15
|
+
@klass_name: String
|
|
16
|
+
|
|
17
|
+
@enum_definitions: Array[Hash[Symbol, untyped]]
|
|
5
18
|
|
|
6
|
-
|
|
7
|
-
@parse_model_file: nil | Parser::AST::Node
|
|
8
|
-
@dependencies: Array[String]
|
|
9
|
-
@enum_definitions: Array[Hash[Symbol, untyped]]
|
|
10
|
-
@klass_name: String
|
|
19
|
+
@parse_model_file: nil | Parser::AST::Node
|
|
11
20
|
|
|
12
|
-
|
|
21
|
+
attr_reader dependencies: DependencyBuilder
|
|
13
22
|
|
|
14
|
-
|
|
23
|
+
# @rbs klass: singleton(ActiveRecord::Base) & Enum
|
|
24
|
+
def initialize: (singleton(ActiveRecord::Base) & Enum klass) -> untyped
|
|
15
25
|
|
|
16
|
-
|
|
26
|
+
def generate: () -> String
|
|
17
27
|
|
|
18
|
-
|
|
28
|
+
private def klass_decl: () -> String
|
|
19
29
|
|
|
20
|
-
|
|
30
|
+
private def pk_type: () -> String
|
|
21
31
|
|
|
22
|
-
|
|
32
|
+
private def generated_relation_methods_decl: () -> String
|
|
23
33
|
|
|
24
|
-
|
|
34
|
+
private def relation_decl: () -> String
|
|
25
35
|
|
|
26
|
-
|
|
36
|
+
private def collection_proxy_decl: () -> String
|
|
27
37
|
|
|
28
|
-
|
|
38
|
+
private def header: () -> String
|
|
29
39
|
|
|
30
|
-
|
|
40
|
+
private def footer: () -> String
|
|
31
41
|
|
|
32
|
-
|
|
42
|
+
private def associations: () -> String
|
|
33
43
|
|
|
34
|
-
|
|
44
|
+
private def has_many: () -> String
|
|
35
45
|
|
|
36
|
-
|
|
46
|
+
private def has_and_belongs_to_many: () -> String
|
|
37
47
|
|
|
38
|
-
|
|
48
|
+
private def has_one: () -> String
|
|
39
49
|
|
|
40
|
-
|
|
50
|
+
private def belongs_to: () -> String
|
|
41
51
|
|
|
42
|
-
|
|
52
|
+
private def generated_association_methods: () -> String
|
|
43
53
|
|
|
44
|
-
|
|
54
|
+
# @rbs singleton: bool
|
|
55
|
+
private def delegated_type_scope: (singleton: bool) -> String
|
|
45
56
|
|
|
46
|
-
|
|
57
|
+
private def delegated_type_instance: () -> String
|
|
47
58
|
|
|
48
|
-
|
|
59
|
+
private def delegated_type_definitions: () -> Array[{ role: Symbol, types: Array[String] }]?
|
|
49
60
|
|
|
50
|
-
|
|
61
|
+
private def has_secure_password: () -> String?
|
|
51
62
|
|
|
52
|
-
|
|
63
|
+
private def enum_instance_methods: () -> String
|
|
53
64
|
|
|
54
|
-
|
|
65
|
+
# @rbs singleton: untyped
|
|
66
|
+
private def enum_class_methods: (singleton: untyped) -> String
|
|
55
67
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
# but it does not contain _prefix and _suffix information.
|
|
59
|
-
def build_enum_definitions: () -> Array[Hash[Symbol, untyped]]
|
|
68
|
+
# @rbs singleton: untyped
|
|
69
|
+
private def scopes: (singleton: untyped) -> untyped
|
|
60
70
|
|
|
61
|
-
|
|
71
|
+
# @rbs args_node: untyped
|
|
72
|
+
private def args_to_type: (untyped args_node) -> untyped
|
|
62
73
|
|
|
63
|
-
|
|
74
|
+
private def parse_model_file: () -> untyped
|
|
64
75
|
|
|
65
|
-
|
|
76
|
+
private def parser_class: () -> untyped
|
|
66
77
|
|
|
67
|
-
|
|
78
|
+
# : (Parser::AST::Node) { (Parser::AST::Node) -> untyped } -> untyped
|
|
79
|
+
# : (Parser::AST::Node) -> Enumerator[Parser::AST::Node, untyped]
|
|
80
|
+
private def traverse: (Parser::AST::Node) { (Parser::AST::Node) -> untyped } -> untyped
|
|
81
|
+
| (Parser::AST::Node) -> Enumerator[Parser::AST::Node, untyped]
|
|
68
82
|
|
|
69
|
-
|
|
70
|
-
| (Parser::AST::Node node) -> Enumerator[Parser::AST::Node, untyped]
|
|
83
|
+
private def relation_class_name: () -> String
|
|
71
84
|
|
|
72
|
-
|
|
85
|
+
# @rbs abs: boolish
|
|
86
|
+
private def klass_name: (?abs: boolish) -> String
|
|
73
87
|
|
|
74
|
-
|
|
88
|
+
private def generated_relation_methods_name: () -> String
|
|
75
89
|
|
|
76
|
-
|
|
90
|
+
private def columns: () -> untyped
|
|
77
91
|
|
|
78
|
-
|
|
92
|
+
private def alias_columns: () -> untyped
|
|
79
93
|
|
|
80
|
-
|
|
94
|
+
# @rbs class_name: String
|
|
95
|
+
private def optional: (String class_name) -> String
|
|
81
96
|
|
|
82
|
-
|
|
97
|
+
# @rbs t: untyped
|
|
98
|
+
private def sql_type_to_class: (untyped t) -> untyped
|
|
83
99
|
|
|
84
|
-
|
|
100
|
+
private
|
|
85
101
|
|
|
86
|
-
|
|
102
|
+
attr_reader klass: singleton(ActiveRecord::Base) & Enum
|
|
103
|
+
end
|
|
104
|
+
end
|
|
87
105
|
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Generated from lib/rbs_rails/cli/configuration.rb with RBS::Inline
|
|
2
|
+
|
|
3
|
+
module RbsRails
|
|
4
|
+
class CLI
|
|
5
|
+
class Configuration
|
|
6
|
+
include Singleton
|
|
7
|
+
|
|
8
|
+
def self.instance: () -> Configuration
|
|
9
|
+
|
|
10
|
+
def self.configure: () { (Configuration) -> void } -> void
|
|
11
|
+
|
|
12
|
+
extend Forwardable
|
|
13
|
+
|
|
14
|
+
@signature_root_dir: Pathname?
|
|
15
|
+
|
|
16
|
+
@ignore_model_if: (^(singleton(ActiveRecord::Base)) -> bool)?
|
|
17
|
+
|
|
18
|
+
attr_reader check_db_migrations: bool
|
|
19
|
+
|
|
20
|
+
def initialize: () -> void
|
|
21
|
+
|
|
22
|
+
# @rbs &block: (Configuration) -> void
|
|
23
|
+
def configure: () { (Configuration) -> void } -> void
|
|
24
|
+
|
|
25
|
+
def signature_root_dir: () -> Pathname
|
|
26
|
+
|
|
27
|
+
# @rbs dir: String | Pathname
|
|
28
|
+
def signature_root_dir=: (String | Pathname dir) -> Pathname
|
|
29
|
+
|
|
30
|
+
# @rbs &block: (singleton(ActiveRecord::Base)) -> bool
|
|
31
|
+
def ignore_model_if: () { (singleton(ActiveRecord::Base)) -> bool } -> void
|
|
32
|
+
|
|
33
|
+
# @rbs klass: singleton(ActiveRecord::Base)
|
|
34
|
+
def ignored_model?: (singleton(ActiveRecord::Base) klass) -> bool
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Generated from lib/rbs_rails/cli.rb with RBS::Inline
|
|
2
|
+
|
|
3
|
+
module RbsRails
|
|
4
|
+
# @rbs &block: (CLI::Configuration) -> void
|
|
5
|
+
def self.configure: () { (CLI::Configuration) -> void } -> void
|
|
6
|
+
|
|
7
|
+
class CLI
|
|
8
|
+
attr_reader config_file: String?
|
|
9
|
+
|
|
10
|
+
# @rbs argv: Array[String]
|
|
11
|
+
def run: (Array[String] argv) -> Integer
|
|
12
|
+
|
|
13
|
+
private
|
|
14
|
+
|
|
15
|
+
def config: () -> Configuration
|
|
16
|
+
|
|
17
|
+
def load_config: () -> void
|
|
18
|
+
|
|
19
|
+
def load_application: () -> void
|
|
20
|
+
|
|
21
|
+
def install_hooks: () -> void
|
|
22
|
+
|
|
23
|
+
def generate_models: () -> void
|
|
24
|
+
|
|
25
|
+
# Raise an error if database is not migrated to the latest version
|
|
26
|
+
def check_db_migrations!: () -> void
|
|
27
|
+
|
|
28
|
+
# @rbs klass: singleton(ActiveRecord::Base)
|
|
29
|
+
def generate_single_model: (singleton(ActiveRecord::Base) klass) -> bool
|
|
30
|
+
|
|
31
|
+
def generate_path_helpers: () -> void
|
|
32
|
+
|
|
33
|
+
def create_option_parser: () -> OptionParser
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -1,14 +1,18 @@
|
|
|
1
|
+
# Generated from lib/rbs_rails/dependency_builder.rb with RBS::Inline
|
|
2
|
+
|
|
1
3
|
module RbsRails
|
|
2
4
|
class DependencyBuilder
|
|
3
5
|
attr_reader deps: Array[String]
|
|
6
|
+
|
|
4
7
|
attr_reader done: Set[String]
|
|
5
8
|
|
|
6
9
|
def initialize: () -> void
|
|
7
10
|
|
|
8
|
-
|
|
11
|
+
# @rbs name: String
|
|
12
|
+
def <<: (String name) -> Array[String]
|
|
9
13
|
|
|
10
|
-
|
|
14
|
+
def build: () -> (String | nil)
|
|
11
15
|
|
|
12
|
-
def shift: () -> (String | nil)
|
|
16
|
+
private def shift: () -> (String | nil)
|
|
13
17
|
end
|
|
14
18
|
end
|
|
@@ -1,11 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
def self.generate: (?routes: untyped routes) -> untyped
|
|
1
|
+
# Generated from lib/rbs_rails/path_helpers.rb with RBS::Inline
|
|
3
2
|
|
|
4
|
-
|
|
3
|
+
module RbsRails
|
|
4
|
+
class PathHelpers
|
|
5
|
+
def self.generate: (?routes: untyped) -> untyped
|
|
5
6
|
|
|
6
|
-
|
|
7
|
+
def initialize: (routes: untyped) -> untyped
|
|
7
8
|
|
|
8
|
-
|
|
9
|
+
def generate: () -> untyped
|
|
9
10
|
|
|
10
|
-
|
|
11
|
+
private def helpers: () -> untyped
|
|
12
|
+
|
|
13
|
+
private
|
|
14
|
+
|
|
15
|
+
# @dynamic routes
|
|
16
|
+
attr_reader routes: untyped
|
|
17
|
+
end
|
|
11
18
|
end
|