rbs_rails 0.12.0 → 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 +64 -0
- data/Gemfile +9 -3
- data/Gemfile.lock +202 -129
- data/README.md +47 -1
- data/Rakefile +7 -2
- data/Steepfile +5 -0
- data/example/rbs_rails.rb +27 -0
- data/exe/rbs_rails +6 -0
- data/lib/generators/rbs_rails/install_generator.rb +10 -15
- data/lib/rbs_rails/active_record/enum.rb +81 -0
- data/lib/rbs_rails/active_record.rb +269 -171
- data/lib/rbs_rails/cli/configuration.rb +66 -0
- data/lib/rbs_rails/cli.rb +173 -0
- data/lib/rbs_rails/dependency_builder.rb +29 -8
- data/lib/rbs_rails/path_helpers.rb +14 -2
- data/lib/rbs_rails/rake_task.rb +39 -41
- data/lib/rbs_rails/util/file_writer.rb +22 -0
- data/lib/rbs_rails/util.rb +17 -15
- data/lib/rbs_rails/version.rb +1 -1
- data/lib/rbs_rails.rb +5 -2
- data/rbs_collection.lock.yaml +273 -45
- data/rbs_collection.yaml +1 -18
- data/rbs_rails.gemspec +2 -1
- 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 +68 -46
- data/sig/rbs_rails/cli/configuration.rbs +37 -0
- data/sig/rbs_rails/cli.rbs +35 -0
- data/sig/rbs_rails/dependency_builder.rbs +8 -0
- data/sig/rbs_rails/path_helpers.rbs +13 -6
- data/sig/rbs_rails/rake_task.rbs +8 -7
- 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 +33 -14
- data/sig/_internal/activerecord.rbs +0 -4
- data/sig/_internal/fileutils.rbs +0 -4
- data/sig/_internal/thor.rbs +0 -5
- data/sig/parser.rbs +0 -14
- data/sig/rake.rbs +0 -6
data/rbs_collection.lock.yaml
CHANGED
|
@@ -1,109 +1,296 @@
|
|
|
1
1
|
---
|
|
2
|
-
sources:
|
|
3
|
-
- name: ruby/gem_rbs_collection
|
|
4
|
-
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
5
|
-
revision: main
|
|
6
|
-
repo_dir: gems
|
|
7
2
|
path: ".gem_rbs_collection"
|
|
8
3
|
gems:
|
|
9
|
-
- name:
|
|
4
|
+
- name: actioncable
|
|
5
|
+
version: '7.1'
|
|
6
|
+
source:
|
|
7
|
+
type: git
|
|
8
|
+
name: ruby/gem_rbs_collection
|
|
9
|
+
revision: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
10
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
11
|
+
repo_dir: gems
|
|
12
|
+
- name: actionmailer
|
|
13
|
+
version: '7.0'
|
|
14
|
+
source:
|
|
15
|
+
type: git
|
|
16
|
+
name: ruby/gem_rbs_collection
|
|
17
|
+
revision: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
18
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
19
|
+
repo_dir: gems
|
|
20
|
+
- name: actionpack
|
|
21
|
+
version: '7.2'
|
|
22
|
+
source:
|
|
23
|
+
type: git
|
|
24
|
+
name: ruby/gem_rbs_collection
|
|
25
|
+
revision: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
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: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
34
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
35
|
+
repo_dir: gems
|
|
36
|
+
- name: actionview
|
|
37
|
+
version: '6.0'
|
|
38
|
+
source:
|
|
39
|
+
type: git
|
|
40
|
+
name: ruby/gem_rbs_collection
|
|
41
|
+
revision: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
42
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
43
|
+
repo_dir: gems
|
|
44
|
+
- name: activejob
|
|
45
|
+
version: '6.0'
|
|
46
|
+
source:
|
|
47
|
+
type: git
|
|
48
|
+
name: ruby/gem_rbs_collection
|
|
49
|
+
revision: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
50
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
51
|
+
repo_dir: gems
|
|
52
|
+
- name: activemodel
|
|
53
|
+
version: '7.1'
|
|
54
|
+
source:
|
|
55
|
+
type: git
|
|
56
|
+
name: ruby/gem_rbs_collection
|
|
57
|
+
revision: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
58
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
59
|
+
repo_dir: gems
|
|
60
|
+
- name: activerecord
|
|
61
|
+
version: '7.2'
|
|
62
|
+
source:
|
|
63
|
+
type: git
|
|
64
|
+
name: ruby/gem_rbs_collection
|
|
65
|
+
revision: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
66
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
67
|
+
repo_dir: gems
|
|
68
|
+
- name: activestorage
|
|
69
|
+
version: '7.0'
|
|
70
|
+
source:
|
|
71
|
+
type: git
|
|
72
|
+
name: ruby/gem_rbs_collection
|
|
73
|
+
revision: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
74
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
75
|
+
repo_dir: gems
|
|
76
|
+
- name: activesupport
|
|
77
|
+
version: '7.0'
|
|
78
|
+
source:
|
|
79
|
+
type: git
|
|
80
|
+
name: ruby/gem_rbs_collection
|
|
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
|
|
90
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
91
|
+
repo_dir: gems
|
|
92
|
+
- name: base64
|
|
93
|
+
version: 0.3.0
|
|
94
|
+
source:
|
|
95
|
+
type: rubygems
|
|
96
|
+
- name: benchmark
|
|
97
|
+
version: '0'
|
|
98
|
+
source:
|
|
99
|
+
type: stdlib
|
|
100
|
+
- name: bigdecimal
|
|
101
|
+
version: '3.1'
|
|
102
|
+
source:
|
|
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
|
|
108
|
+
- name: cgi
|
|
109
|
+
version: '0'
|
|
110
|
+
source:
|
|
111
|
+
type: stdlib
|
|
112
|
+
- name: concurrent-ruby
|
|
113
|
+
version: '1.1'
|
|
114
|
+
source:
|
|
115
|
+
type: git
|
|
116
|
+
name: ruby/gem_rbs_collection
|
|
117
|
+
revision: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
118
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
119
|
+
repo_dir: gems
|
|
120
|
+
- name: connection_pool
|
|
121
|
+
version: '2.4'
|
|
122
|
+
source:
|
|
123
|
+
type: git
|
|
124
|
+
name: ruby/gem_rbs_collection
|
|
125
|
+
revision: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
126
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
127
|
+
repo_dir: gems
|
|
128
|
+
- name: date
|
|
10
129
|
version: '0'
|
|
11
130
|
source:
|
|
12
131
|
type: stdlib
|
|
13
|
-
- name:
|
|
132
|
+
- name: dbm
|
|
14
133
|
version: '0'
|
|
15
134
|
source:
|
|
16
135
|
type: stdlib
|
|
17
|
-
- name:
|
|
136
|
+
- name: delegate
|
|
18
137
|
version: '0'
|
|
19
138
|
source:
|
|
20
139
|
type: stdlib
|
|
21
|
-
- name:
|
|
140
|
+
- name: digest
|
|
22
141
|
version: '0'
|
|
23
142
|
source:
|
|
24
143
|
type: stdlib
|
|
25
|
-
- name:
|
|
144
|
+
- name: erb
|
|
26
145
|
version: '0'
|
|
27
146
|
source:
|
|
28
147
|
type: stdlib
|
|
29
|
-
- name:
|
|
148
|
+
- name: fileutils
|
|
30
149
|
version: '0'
|
|
31
150
|
source:
|
|
32
151
|
type: stdlib
|
|
33
|
-
- name:
|
|
152
|
+
- name: forwardable
|
|
34
153
|
version: '0'
|
|
35
154
|
source:
|
|
36
155
|
type: stdlib
|
|
37
|
-
- name:
|
|
38
|
-
version: '
|
|
156
|
+
- name: globalid
|
|
157
|
+
version: '1.1'
|
|
39
158
|
source:
|
|
40
159
|
type: git
|
|
41
160
|
name: ruby/gem_rbs_collection
|
|
42
|
-
revision:
|
|
161
|
+
revision: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
43
162
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
44
163
|
repo_dir: gems
|
|
45
|
-
- name:
|
|
46
|
-
version: '
|
|
164
|
+
- name: i18n
|
|
165
|
+
version: '1.10'
|
|
47
166
|
source:
|
|
48
167
|
type: git
|
|
49
168
|
name: ruby/gem_rbs_collection
|
|
50
|
-
revision:
|
|
169
|
+
revision: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
51
170
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
52
171
|
repo_dir: gems
|
|
53
|
-
- name:
|
|
54
|
-
version: '
|
|
172
|
+
- name: io-console
|
|
173
|
+
version: '0'
|
|
174
|
+
source:
|
|
175
|
+
type: stdlib
|
|
176
|
+
- name: json
|
|
177
|
+
version: '0'
|
|
178
|
+
source:
|
|
179
|
+
type: stdlib
|
|
180
|
+
- name: logger
|
|
181
|
+
version: '0'
|
|
182
|
+
source:
|
|
183
|
+
type: stdlib
|
|
184
|
+
- name: mail
|
|
185
|
+
version: '2.8'
|
|
55
186
|
source:
|
|
56
187
|
type: git
|
|
57
188
|
name: ruby/gem_rbs_collection
|
|
58
|
-
revision:
|
|
189
|
+
revision: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
59
190
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
60
191
|
repo_dir: gems
|
|
61
|
-
- name:
|
|
62
|
-
version: '
|
|
192
|
+
- name: marcel
|
|
193
|
+
version: '1.0'
|
|
63
194
|
source:
|
|
64
195
|
type: git
|
|
65
196
|
name: ruby/gem_rbs_collection
|
|
66
|
-
revision:
|
|
197
|
+
revision: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
67
198
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
68
199
|
repo_dir: gems
|
|
69
|
-
- name:
|
|
70
|
-
version: '
|
|
200
|
+
- name: mini_mime
|
|
201
|
+
version: '0.1'
|
|
71
202
|
source:
|
|
72
203
|
type: git
|
|
73
204
|
name: ruby/gem_rbs_collection
|
|
74
|
-
revision:
|
|
205
|
+
revision: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
75
206
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
76
207
|
repo_dir: gems
|
|
77
|
-
- name:
|
|
78
|
-
version: '
|
|
208
|
+
- name: minitest
|
|
209
|
+
version: '5.25'
|
|
79
210
|
source:
|
|
80
211
|
type: git
|
|
81
212
|
name: ruby/gem_rbs_collection
|
|
82
|
-
revision:
|
|
213
|
+
revision: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
83
214
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
84
215
|
repo_dir: gems
|
|
85
|
-
- name:
|
|
86
|
-
version: '
|
|
216
|
+
- name: monitor
|
|
217
|
+
version: '0'
|
|
218
|
+
source:
|
|
219
|
+
type: stdlib
|
|
220
|
+
- name: net-protocol
|
|
221
|
+
version: '0'
|
|
222
|
+
source:
|
|
223
|
+
type: stdlib
|
|
224
|
+
- name: net-smtp
|
|
225
|
+
version: '0.5'
|
|
226
|
+
source:
|
|
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'
|
|
87
234
|
source:
|
|
88
235
|
type: git
|
|
89
236
|
name: ruby/gem_rbs_collection
|
|
90
|
-
revision:
|
|
237
|
+
revision: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
91
238
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
92
239
|
repo_dir: gems
|
|
93
|
-
- name:
|
|
94
|
-
version: '
|
|
240
|
+
- name: openssl
|
|
241
|
+
version: '0'
|
|
242
|
+
source:
|
|
243
|
+
type: stdlib
|
|
244
|
+
- name: optparse
|
|
245
|
+
version: '0'
|
|
246
|
+
source:
|
|
247
|
+
type: stdlib
|
|
248
|
+
- name: parser
|
|
249
|
+
version: '3.2'
|
|
95
250
|
source:
|
|
96
251
|
type: git
|
|
97
252
|
name: ruby/gem_rbs_collection
|
|
98
|
-
revision:
|
|
253
|
+
revision: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
99
254
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
100
255
|
repo_dir: gems
|
|
256
|
+
- name: pathname
|
|
257
|
+
version: '0'
|
|
258
|
+
source:
|
|
259
|
+
type: stdlib
|
|
260
|
+
- name: prism
|
|
261
|
+
version: 1.2.0
|
|
262
|
+
source:
|
|
263
|
+
type: rubygems
|
|
264
|
+
- name: pstore
|
|
265
|
+
version: '0'
|
|
266
|
+
source:
|
|
267
|
+
type: stdlib
|
|
268
|
+
- name: psych
|
|
269
|
+
version: '0'
|
|
270
|
+
source:
|
|
271
|
+
type: stdlib
|
|
101
272
|
- name: rack
|
|
102
|
-
version: 2.2
|
|
273
|
+
version: '2.2'
|
|
274
|
+
source:
|
|
275
|
+
type: git
|
|
276
|
+
name: ruby/gem_rbs_collection
|
|
277
|
+
revision: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
278
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
279
|
+
repo_dir: gems
|
|
280
|
+
- name: rails-dom-testing
|
|
281
|
+
version: '2.0'
|
|
282
|
+
source:
|
|
283
|
+
type: git
|
|
284
|
+
name: ruby/gem_rbs_collection
|
|
285
|
+
revision: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
286
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
287
|
+
repo_dir: gems
|
|
288
|
+
- name: rails-html-sanitizer
|
|
289
|
+
version: '1.6'
|
|
103
290
|
source:
|
|
104
291
|
type: git
|
|
105
292
|
name: ruby/gem_rbs_collection
|
|
106
|
-
revision:
|
|
293
|
+
revision: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
107
294
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
108
295
|
repo_dir: gems
|
|
109
296
|
- name: railties
|
|
@@ -111,34 +298,75 @@ gems:
|
|
|
111
298
|
source:
|
|
112
299
|
type: git
|
|
113
300
|
name: ruby/gem_rbs_collection
|
|
114
|
-
revision:
|
|
301
|
+
revision: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
302
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
303
|
+
repo_dir: gems
|
|
304
|
+
- name: rake
|
|
305
|
+
version: '13.0'
|
|
306
|
+
source:
|
|
307
|
+
type: git
|
|
308
|
+
name: ruby/gem_rbs_collection
|
|
309
|
+
revision: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
115
310
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
116
311
|
repo_dir: gems
|
|
117
312
|
- name: rbs
|
|
118
|
-
version:
|
|
313
|
+
version: 3.9.2
|
|
119
314
|
source:
|
|
120
315
|
type: rubygems
|
|
121
|
-
- name:
|
|
316
|
+
- name: rdoc
|
|
122
317
|
version: '0'
|
|
123
318
|
source:
|
|
124
319
|
type: stdlib
|
|
125
|
-
- name:
|
|
320
|
+
- name: securerandom
|
|
126
321
|
version: '0'
|
|
127
322
|
source:
|
|
128
323
|
type: stdlib
|
|
129
|
-
- name:
|
|
324
|
+
- name: singleton
|
|
130
325
|
version: '0'
|
|
131
326
|
source:
|
|
132
327
|
type: stdlib
|
|
133
|
-
- name:
|
|
328
|
+
- name: socket
|
|
134
329
|
version: '0'
|
|
135
330
|
source:
|
|
136
331
|
type: stdlib
|
|
137
|
-
- name:
|
|
332
|
+
- name: stringio
|
|
138
333
|
version: '0'
|
|
139
334
|
source:
|
|
140
335
|
type: stdlib
|
|
336
|
+
- name: tempfile
|
|
337
|
+
version: '0'
|
|
338
|
+
source:
|
|
339
|
+
type: stdlib
|
|
340
|
+
- name: thor
|
|
341
|
+
version: '1.2'
|
|
342
|
+
source:
|
|
343
|
+
type: git
|
|
344
|
+
name: ruby/gem_rbs_collection
|
|
345
|
+
revision: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
346
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
347
|
+
repo_dir: gems
|
|
141
348
|
- name: time
|
|
142
349
|
version: '0'
|
|
143
350
|
source:
|
|
144
351
|
type: stdlib
|
|
352
|
+
- name: timeout
|
|
353
|
+
version: '0'
|
|
354
|
+
source:
|
|
355
|
+
type: stdlib
|
|
356
|
+
- name: tsort
|
|
357
|
+
version: '0'
|
|
358
|
+
source:
|
|
359
|
+
type: stdlib
|
|
360
|
+
- name: tzinfo
|
|
361
|
+
version: '2.0'
|
|
362
|
+
source:
|
|
363
|
+
type: git
|
|
364
|
+
name: ruby/gem_rbs_collection
|
|
365
|
+
revision: d2bc0905c6f19acd3023d0530086d6d14704b10f
|
|
366
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
367
|
+
repo_dir: gems
|
|
368
|
+
- name: uri
|
|
369
|
+
version: '0'
|
|
370
|
+
source:
|
|
371
|
+
type: stdlib
|
|
372
|
+
gemfile_lock_path: Gemfile.lock
|
data/rbs_collection.yaml
CHANGED
|
@@ -9,28 +9,11 @@ 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
|
|
31
|
-
- name: set
|
|
32
15
|
- name: pathname
|
|
33
16
|
- name: json
|
|
34
17
|
- name: optparse
|
|
35
|
-
- name: rubygems
|
|
36
18
|
- name: tsort
|
|
19
|
+
- name: forwardable
|
data/rbs_rails.gemspec
CHANGED
|
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
|
|
|
10
10
|
spec.description = %q{A RBS files generator for Rails application}
|
|
11
11
|
spec.homepage = "https://github.com/pocke/rbs_rails"
|
|
12
12
|
spec.license = 'Apache-2.0'
|
|
13
|
-
spec.required_ruby_version = Gem::Requirement.new(">=
|
|
13
|
+
spec.required_ruby_version = Gem::Requirement.new(">= 3.2")
|
|
14
14
|
|
|
15
15
|
spec.metadata["homepage_uri"] = spec.homepage
|
|
16
16
|
spec.metadata["source_code_uri"] = spec.homepage
|
|
@@ -26,5 +26,6 @@ Gem::Specification.new do |spec|
|
|
|
26
26
|
spec.require_paths = ["lib"]
|
|
27
27
|
|
|
28
28
|
spec.add_runtime_dependency 'parser'
|
|
29
|
+
spec.add_runtime_dependency 'prism'
|
|
29
30
|
spec.add_runtime_dependency 'rbs', '>= 1'
|
|
30
31
|
end
|
|
@@ -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,83 +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]]
|
|
18
|
+
|
|
19
|
+
@parse_model_file: nil | Parser::AST::Node
|
|
5
20
|
|
|
6
|
-
|
|
7
|
-
@parse_model_file: nil | Parser::AST::Node
|
|
8
|
-
@dependencies: Array[String]
|
|
21
|
+
attr_reader dependencies: DependencyBuilder
|
|
9
22
|
|
|
10
|
-
|
|
23
|
+
# @rbs klass: singleton(ActiveRecord::Base) & Enum
|
|
24
|
+
def initialize: (singleton(ActiveRecord::Base) & Enum klass) -> untyped
|
|
11
25
|
|
|
12
|
-
|
|
26
|
+
def generate: () -> String
|
|
13
27
|
|
|
14
|
-
|
|
28
|
+
private def klass_decl: () -> String
|
|
15
29
|
|
|
16
|
-
|
|
30
|
+
private def pk_type: () -> String
|
|
17
31
|
|
|
18
|
-
|
|
32
|
+
private def generated_relation_methods_decl: () -> String
|
|
19
33
|
|
|
20
|
-
|
|
34
|
+
private def relation_decl: () -> String
|
|
21
35
|
|
|
22
|
-
|
|
36
|
+
private def collection_proxy_decl: () -> String
|
|
23
37
|
|
|
24
|
-
|
|
38
|
+
private def header: () -> String
|
|
25
39
|
|
|
26
|
-
|
|
40
|
+
private def footer: () -> String
|
|
27
41
|
|
|
28
|
-
|
|
42
|
+
private def associations: () -> String
|
|
29
43
|
|
|
30
|
-
|
|
44
|
+
private def has_many: () -> String
|
|
31
45
|
|
|
32
|
-
|
|
46
|
+
private def has_and_belongs_to_many: () -> String
|
|
33
47
|
|
|
34
|
-
|
|
48
|
+
private def has_one: () -> String
|
|
35
49
|
|
|
36
|
-
|
|
50
|
+
private def belongs_to: () -> String
|
|
37
51
|
|
|
38
|
-
|
|
52
|
+
private def generated_association_methods: () -> String
|
|
39
53
|
|
|
40
|
-
|
|
54
|
+
# @rbs singleton: bool
|
|
55
|
+
private def delegated_type_scope: (singleton: bool) -> String
|
|
41
56
|
|
|
42
|
-
|
|
57
|
+
private def delegated_type_instance: () -> String
|
|
43
58
|
|
|
44
|
-
|
|
59
|
+
private def delegated_type_definitions: () -> Array[{ role: Symbol, types: Array[String] }]?
|
|
45
60
|
|
|
46
|
-
|
|
61
|
+
private def has_secure_password: () -> String?
|
|
47
62
|
|
|
48
|
-
|
|
63
|
+
private def enum_instance_methods: () -> String
|
|
49
64
|
|
|
50
|
-
|
|
65
|
+
# @rbs singleton: untyped
|
|
66
|
+
private def enum_class_methods: (singleton: untyped) -> String
|
|
51
67
|
|
|
52
|
-
|
|
68
|
+
# @rbs singleton: untyped
|
|
69
|
+
private def scopes: (singleton: untyped) -> untyped
|
|
53
70
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
# but it does not contain _prefix and _suffix information.
|
|
57
|
-
def build_enum_definitions: () -> Array[Hash[Symbol, untyped]]
|
|
71
|
+
# @rbs args_node: untyped
|
|
72
|
+
private def args_to_type: (untyped args_node) -> untyped
|
|
58
73
|
|
|
59
|
-
|
|
74
|
+
private def parse_model_file: () -> untyped
|
|
60
75
|
|
|
61
|
-
|
|
76
|
+
private def parser_class: () -> untyped
|
|
62
77
|
|
|
63
|
-
|
|
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]
|
|
64
82
|
|
|
65
|
-
|
|
83
|
+
private def relation_class_name: () -> String
|
|
66
84
|
|
|
67
|
-
|
|
68
|
-
|
|
85
|
+
# @rbs abs: boolish
|
|
86
|
+
private def klass_name: (?abs: boolish) -> String
|
|
69
87
|
|
|
70
|
-
|
|
88
|
+
private def generated_relation_methods_name: () -> String
|
|
71
89
|
|
|
72
|
-
|
|
90
|
+
private def columns: () -> untyped
|
|
73
91
|
|
|
74
|
-
|
|
92
|
+
private def alias_columns: () -> untyped
|
|
75
93
|
|
|
76
|
-
|
|
94
|
+
# @rbs class_name: String
|
|
95
|
+
private def optional: (String class_name) -> String
|
|
77
96
|
|
|
78
|
-
|
|
97
|
+
# @rbs t: untyped
|
|
98
|
+
private def sql_type_to_class: (untyped t) -> untyped
|
|
79
99
|
|
|
80
|
-
|
|
100
|
+
private
|
|
81
101
|
|
|
82
|
-
|
|
102
|
+
attr_reader klass: singleton(ActiveRecord::Base) & Enum
|
|
103
|
+
end
|
|
104
|
+
end
|
|
83
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
|