rbs_activesupport 1.4.0 → 1.4.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9aff5090ae7c5a84c8472fe704bad2d643c7eec74367a71ade06e67fe548fbd4
4
- data.tar.gz: 1c69a70033b144fe532c45cc313312406631a04503752f2a6deddf5a4960a3d2
3
+ metadata.gz: ddd9bc606628feb9ac3300697d3f0c1ff82f8e1f53b01731bd3bdab771ada81b
4
+ data.tar.gz: 3d88f52a450782c345d38ba07ece5f48d6c26719d77a4e53dd038c257441203c
5
5
  SHA512:
6
- metadata.gz: bbe64bfcf0498b6ea9500ccfbd4f250117bff44dabedd05fc5289ae3a3ecbb027b71c3d54e2fc6032ada3301a3d82887de1892886c7fd2ae856a953cc4fc0725
7
- data.tar.gz: 6028e5ae17c835205bd7e32e3e59d050ce2cabe0439c0e040927075626f29b7dfb4b448301fd6502d5951e05aa4b13a48c3506a8e618b73f670011b9d346a985
6
+ metadata.gz: 4c78e09a673e6af25bbbf2d945448f0dcc19a3fa9d602187df8b807a77f8cc52f597b0e8c007d7cddc82284144b59dc31a05ccfb6a12b4fd400f26393171d214
7
+ data.tar.gz: af0892f0476bb5229ae60028c729ecbc15f4f1cd35706bf465cbc3a69df33803aa3c4de50f497d7b2d0e0197e6249b5a6062d4ab4f3290dd595dfb03a8d3d7f5
@@ -2,8 +2,16 @@
2
2
  "rbs-helper.signature-directory": "sig/",
3
3
  "cSpell.words": [
4
4
  "cattr",
5
+ "classmethods",
5
6
  "Cyclomatic",
6
- "mattr"
7
+ "DEFN",
8
+ "FCALL",
9
+ "mattr",
10
+ "mkpath",
11
+ "rmtree",
12
+ "tasklib",
13
+ "VCALL",
14
+ "ZLIST"
7
15
  ],
8
16
  "rbs-helper.rbs-inline-on-save": true,
9
17
  "rbs-helper.rbs-inline-options": "--opt-out --output=sig/"
data/README.md CHANGED
@@ -98,23 +98,30 @@ module MyConcern
98
98
  extend ActiveSupport::Concern
99
99
 
100
100
  included do
101
- class_attribute :name
101
+ class_attribute :name #: String
102
102
  end
103
103
  end
104
+
105
+ class User
106
+ include MyConcern
107
+ end
104
108
  ```
105
109
 
106
110
  It is translated to the following RBS:
107
111
 
108
112
  ```ruby
109
113
  module MyConcern
110
- module ClassMethods
111
- def name: () -> untyped
112
- def name=: (untyped) -> untyped
113
- def name?: () -> bool
114
- end
114
+ extend ActiveSupport::Concern
115
+ end
116
+
117
+ class User
118
+ include MyConcern
115
119
 
116
- def name: () -> untyped
117
- def name=: (untyped) -> untyped
120
+ def self.name: () -> String
121
+ def self.name=: (String) -> String
122
+ def self.name?: () -> bool
123
+ def name: () -> String
124
+ def name=: (String) -> String
118
125
  def name?: () -> bool
119
126
  end
120
127
  ```
@@ -35,8 +35,13 @@ module RbsActivesupport
35
35
  when :LIT, :STR
36
36
  node.children.first
37
37
  when :HASH
38
- elem = node.children.first.children.compact.map { |e| eval_node(e) }
39
- Hash[*elem]
38
+ children = node.children.first&.children
39
+ if children
40
+ items = children.compact.map { |i| eval_node(i) }
41
+ Hash[*items]
42
+ else
43
+ {}
44
+ end
40
45
  when :ZLIST
41
46
  []
42
47
  when :LIST
@@ -53,6 +58,8 @@ module RbsActivesupport
53
58
  eval_node(node.children.first) + RBS::Namespace.new(path: [node.children.last], absolute: false)
54
59
  when :COLON3
55
60
  RBS::Namespace.new(path: node.children, absolute: true)
61
+ when :CALL, :ITER
62
+ node
56
63
  else
57
64
  p node # for debug
58
65
  raise
@@ -86,6 +86,12 @@ module RbsActivesupport
86
86
  # @rbs context: RBS::Namespace?
87
87
  def build_include(namespace, method_call, context) #: Array[t]
88
88
  module_paths = eval_include_args(method_call.args)
89
+ module_paths.delete_if do |module_path|
90
+ unless module_path.is_a?(RBS::Namespace)
91
+ puts "ERROR: #{namespace}:#{method_call.name}: Failed to recognize an included module: #{module_path}"
92
+ true
93
+ end
94
+ end
89
95
  module_paths.flat_map do |module_path|
90
96
  include = Include.new(context || namespace, module_path, { private: method_call.private? })
91
97
  ([include] +
@@ -6,6 +6,8 @@ module RbsActivesupport
6
6
  # @rbs rbs_builder: RBS::DefinitionBuilder
7
7
  def self.generate(pathname, rbs_builder) #: String?
8
8
  new(pathname, rbs_builder).generate
9
+ rescue StandardError
10
+ warn "Failed to generate RBS for #{pathname}"
9
11
  end
10
12
 
11
13
  include AST
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RbsActivesupport
4
- VERSION = "1.4.0" #: String
4
+ VERSION = "1.4.2" #: String
5
5
  end
@@ -6,7 +6,7 @@ gems:
6
6
  source:
7
7
  type: git
8
8
  name: ruby/gem_rbs_collection
9
- revision: dcc30eaed71a6e36acde3a018e6f1ffd27f72d09
9
+ revision: 5fcf7d45b7c430a651c5996280d9991c781fcf14
10
10
  remote: https://github.com/ruby/gem_rbs_collection.git
11
11
  repo_dir: gems
12
12
  - name: actionview
@@ -14,7 +14,7 @@ gems:
14
14
  source:
15
15
  type: git
16
16
  name: ruby/gem_rbs_collection
17
- revision: dcc30eaed71a6e36acde3a018e6f1ffd27f72d09
17
+ revision: 5fcf7d45b7c430a651c5996280d9991c781fcf14
18
18
  remote: https://github.com/ruby/gem_rbs_collection.git
19
19
  repo_dir: gems
20
20
  - name: activesupport
@@ -22,7 +22,7 @@ gems:
22
22
  source:
23
23
  type: git
24
24
  name: ruby/gem_rbs_collection
25
- revision: dcc30eaed71a6e36acde3a018e6f1ffd27f72d09
25
+ revision: 5fcf7d45b7c430a651c5996280d9991c781fcf14
26
26
  remote: https://github.com/ruby/gem_rbs_collection.git
27
27
  repo_dir: gems
28
28
  - name: ast
@@ -30,7 +30,7 @@ gems:
30
30
  source:
31
31
  type: git
32
32
  name: ruby/gem_rbs_collection
33
- revision: dcc30eaed71a6e36acde3a018e6f1ffd27f72d09
33
+ revision: 5fcf7d45b7c430a651c5996280d9991c781fcf14
34
34
  remote: https://github.com/ruby/gem_rbs_collection.git
35
35
  repo_dir: gems
36
36
  - name: base64
@@ -50,7 +50,7 @@ gems:
50
50
  source:
51
51
  type: git
52
52
  name: ruby/gem_rbs_collection
53
- revision: dcc30eaed71a6e36acde3a018e6f1ffd27f72d09
53
+ revision: 5fcf7d45b7c430a651c5996280d9991c781fcf14
54
54
  remote: https://github.com/ruby/gem_rbs_collection.git
55
55
  repo_dir: gems
56
56
  - name: connection_pool
@@ -58,7 +58,7 @@ gems:
58
58
  source:
59
59
  type: git
60
60
  name: ruby/gem_rbs_collection
61
- revision: dcc30eaed71a6e36acde3a018e6f1ffd27f72d09
61
+ revision: 5fcf7d45b7c430a651c5996280d9991c781fcf14
62
62
  remote: https://github.com/ruby/gem_rbs_collection.git
63
63
  repo_dir: gems
64
64
  - name: date
@@ -69,6 +69,10 @@ gems:
69
69
  version: '0'
70
70
  source:
71
71
  type: stdlib
72
+ - name: delegate
73
+ version: '0'
74
+ source:
75
+ type: stdlib
72
76
  - name: erb
73
77
  version: '0'
74
78
  source:
@@ -82,7 +86,7 @@ gems:
82
86
  source:
83
87
  type: git
84
88
  name: ruby/gem_rbs_collection
85
- revision: dcc30eaed71a6e36acde3a018e6f1ffd27f72d09
89
+ revision: 5fcf7d45b7c430a651c5996280d9991c781fcf14
86
90
  remote: https://github.com/ruby/gem_rbs_collection.git
87
91
  repo_dir: gems
88
92
  - name: io-console
@@ -114,9 +118,13 @@ gems:
114
118
  source:
115
119
  type: git
116
120
  name: ruby/gem_rbs_collection
117
- revision: dcc30eaed71a6e36acde3a018e6f1ffd27f72d09
121
+ revision: 5fcf7d45b7c430a651c5996280d9991c781fcf14
118
122
  remote: https://github.com/ruby/gem_rbs_collection.git
119
123
  repo_dir: gems
124
+ - name: openssl
125
+ version: '0'
126
+ source:
127
+ type: stdlib
120
128
  - name: optparse
121
129
  version: '0'
122
130
  source:
@@ -126,7 +134,7 @@ gems:
126
134
  source:
127
135
  type: git
128
136
  name: ruby/gem_rbs_collection
129
- revision: dcc30eaed71a6e36acde3a018e6f1ffd27f72d09
137
+ revision: 5fcf7d45b7c430a651c5996280d9991c781fcf14
130
138
  remote: https://github.com/ruby/gem_rbs_collection.git
131
139
  repo_dir: gems
132
140
  - name: parser
@@ -134,7 +142,7 @@ gems:
134
142
  source:
135
143
  type: git
136
144
  name: ruby/gem_rbs_collection
137
- revision: dcc30eaed71a6e36acde3a018e6f1ffd27f72d09
145
+ revision: 5fcf7d45b7c430a651c5996280d9991c781fcf14
138
146
  remote: https://github.com/ruby/gem_rbs_collection.git
139
147
  repo_dir: gems
140
148
  - name: pathname
@@ -154,7 +162,7 @@ gems:
154
162
  source:
155
163
  type: git
156
164
  name: ruby/gem_rbs_collection
157
- revision: dcc30eaed71a6e36acde3a018e6f1ffd27f72d09
165
+ revision: 5fcf7d45b7c430a651c5996280d9991c781fcf14
158
166
  remote: https://github.com/ruby/gem_rbs_collection.git
159
167
  repo_dir: gems
160
168
  - name: rails-dom-testing
@@ -162,7 +170,15 @@ gems:
162
170
  source:
163
171
  type: git
164
172
  name: ruby/gem_rbs_collection
165
- revision: dcc30eaed71a6e36acde3a018e6f1ffd27f72d09
173
+ revision: 5fcf7d45b7c430a651c5996280d9991c781fcf14
174
+ remote: https://github.com/ruby/gem_rbs_collection.git
175
+ repo_dir: gems
176
+ - name: rails-html-sanitizer
177
+ version: '1.6'
178
+ source:
179
+ type: git
180
+ name: ruby/gem_rbs_collection
181
+ revision: 5fcf7d45b7c430a651c5996280d9991c781fcf14
166
182
  remote: https://github.com/ruby/gem_rbs_collection.git
167
183
  repo_dir: gems
168
184
  - name: railties
@@ -170,7 +186,7 @@ gems:
170
186
  source:
171
187
  type: git
172
188
  name: ruby/gem_rbs_collection
173
- revision: dcc30eaed71a6e36acde3a018e6f1ffd27f72d09
189
+ revision: 5fcf7d45b7c430a651c5996280d9991c781fcf14
174
190
  remote: https://github.com/ruby/gem_rbs_collection.git
175
191
  repo_dir: gems
176
192
  - name: rainbow
@@ -178,7 +194,7 @@ gems:
178
194
  source:
179
195
  type: git
180
196
  name: ruby/gem_rbs_collection
181
- revision: dcc30eaed71a6e36acde3a018e6f1ffd27f72d09
197
+ revision: 5fcf7d45b7c430a651c5996280d9991c781fcf14
182
198
  remote: https://github.com/ruby/gem_rbs_collection.git
183
199
  repo_dir: gems
184
200
  - name: rake
@@ -186,7 +202,7 @@ gems:
186
202
  source:
187
203
  type: git
188
204
  name: ruby/gem_rbs_collection
189
- revision: dcc30eaed71a6e36acde3a018e6f1ffd27f72d09
205
+ revision: 5fcf7d45b7c430a651c5996280d9991c781fcf14
190
206
  remote: https://github.com/ruby/gem_rbs_collection.git
191
207
  repo_dir: gems
192
208
  - name: rbs
@@ -202,7 +218,7 @@ gems:
202
218
  source:
203
219
  type: git
204
220
  name: ruby/gem_rbs_collection
205
- revision: dcc30eaed71a6e36acde3a018e6f1ffd27f72d09
221
+ revision: 5fcf7d45b7c430a651c5996280d9991c781fcf14
206
222
  remote: https://github.com/ruby/gem_rbs_collection.git
207
223
  repo_dir: gems
208
224
  - name: ripper
@@ -214,7 +230,7 @@ gems:
214
230
  source:
215
231
  type: git
216
232
  name: ruby/gem_rbs_collection
217
- revision: dcc30eaed71a6e36acde3a018e6f1ffd27f72d09
233
+ revision: 5fcf7d45b7c430a651c5996280d9991c781fcf14
218
234
  remote: https://github.com/ruby/gem_rbs_collection.git
219
235
  repo_dir: gems
220
236
  - name: rubocop-ast
@@ -222,7 +238,7 @@ gems:
222
238
  source:
223
239
  type: git
224
240
  name: ruby/gem_rbs_collection
225
- revision: dcc30eaed71a6e36acde3a018e6f1ffd27f72d09
241
+ revision: 5fcf7d45b7c430a651c5996280d9991c781fcf14
226
242
  remote: https://github.com/ruby/gem_rbs_collection.git
227
243
  repo_dir: gems
228
244
  - name: securerandom
@@ -233,6 +249,10 @@ gems:
233
249
  version: '0'
234
250
  source:
235
251
  type: stdlib
252
+ - name: socket
253
+ version: '0'
254
+ source:
255
+ type: stdlib
236
256
  - name: strscan
237
257
  version: '0'
238
258
  source:
@@ -246,7 +266,7 @@ gems:
246
266
  source:
247
267
  type: git
248
268
  name: ruby/gem_rbs_collection
249
- revision: dcc30eaed71a6e36acde3a018e6f1ffd27f72d09
269
+ revision: 5fcf7d45b7c430a651c5996280d9991c781fcf14
250
270
  remote: https://github.com/ruby/gem_rbs_collection.git
251
271
  repo_dir: gems
252
272
  - name: time
@@ -266,7 +286,7 @@ gems:
266
286
  source:
267
287
  type: git
268
288
  name: ruby/gem_rbs_collection
269
- revision: dcc30eaed71a6e36acde3a018e6f1ffd27f72d09
289
+ revision: 5fcf7d45b7c430a651c5996280d9991c781fcf14
270
290
  remote: https://github.com/ruby/gem_rbs_collection.git
271
291
  repo_dir: gems
272
292
  - name: uri
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rbs_activesupport
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 1.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Takeshi KOMIYA
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-10-28 00:00:00.000000000 Z
11
+ date: 2024-11-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -121,7 +121,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
121
121
  - !ruby/object:Gem::Version
122
122
  version: '0'
123
123
  requirements: []
124
- rubygems_version: 3.5.16
124
+ rubygems_version: 3.5.22
125
125
  signing_key:
126
126
  specification_version: 4
127
127
  summary: A RBS files generatorfor activesupport