rbs_activerecord 1.1.2 → 1.1.3

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: d4ad6fbea812a56e76da7f762c9627daafa7cffc61a3f9d15f93a979a2c367b6
4
- data.tar.gz: 4e7987443636d465a0b804cb772a50023a799b28cd51f0a3a55dd932e4818ab8
3
+ metadata.gz: 360079f3b724dfbd462397ed0b1143c80a80269176d4cf61485ac5fc71cfd1c4
4
+ data.tar.gz: 7d847840f3086d25d4aca0e0dac0801d2ae5e40cbb84b7625c17d668236da823
5
5
  SHA512:
6
- metadata.gz: 7a1c947366f0227772a72ca3f2c055749da924e2bac93a5c0743b41b194bf01c910d5a79ecaeb113053fac3f277f40d74bbe88632b3bbf8f02912fbe7beced98
7
- data.tar.gz: 8b0c2312135d3ab36db23f7b4379289db1da865a2daade66f281bbe752fee675226d88334f843b631207727438137a2d40128dd65e2ca3344b0c565a7e8f047d
6
+ metadata.gz: 7d715eb69739edbc2102cdbaedc4e34b7164fc4a3445641c4ca72050e9b8c47db7ede124156f4c777728e6bca52be61e0e41f896770c0f2a2e9b3fb099cd131a
7
+ data.tar.gz: 518abeac5686ce46e0a8faac94249b4723111a2008e642645c0cef0869b451317c29d69aa61cb5542f673b52ca3baf340a49341ee50cb0b1dce703a3f27f49e3
@@ -4,6 +4,8 @@ module RbsActiverecord
4
4
  class Generator
5
5
  module Enum
6
6
  class InstanceMethods < Base
7
+ include Utils
8
+
7
9
  attr_reader :model #: RbsActiverecord::Model
8
10
  attr_reader :declarations #: Array[Prism::CallNode]
9
11
 
@@ -37,10 +39,11 @@ module RbsActiverecord
37
39
  return "" unless name
38
40
  return "" unless options.fetch(:instance_methods, true)
39
41
 
42
+ type = column_type(name)
40
43
  name_methods = <<~RBS
41
44
  def #{name}: () -> String
42
45
  def #{name}=: (String) -> String
43
- | (Integer) -> Integer
46
+ | (#{type}) -> #{type}
44
47
  RBS
45
48
  value_methods = values.map do |value|
46
49
  method_name = enum_method_name(name, value, options)
@@ -52,6 +55,16 @@ module RbsActiverecord
52
55
 
53
56
  name_methods + value_methods
54
57
  end
58
+
59
+ # @rbs name: String
60
+ def column_type(name) #: String
61
+ col = model.columns.find { |c| c.name == name.to_s }
62
+ if col
63
+ sql_type_to_class(col.type)
64
+ else
65
+ "::Integer"
66
+ end
67
+ end
55
68
  end
56
69
  end
57
70
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RbsActiverecord
4
- VERSION = "1.1.2"
4
+ VERSION = "1.1.3"
5
5
  end
@@ -6,7 +6,7 @@ gems:
6
6
  source:
7
7
  type: git
8
8
  name: ruby/gem_rbs_collection
9
- revision: 27243a7d18fd7f7333b9daa35eeca2c37472586e
9
+ revision: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
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: 27243a7d18fd7f7333b9daa35eeca2c37472586e
17
+ revision: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
18
18
  remote: https://github.com/ruby/gem_rbs_collection.git
19
19
  repo_dir: gems
20
20
  - name: activejob
@@ -22,7 +22,7 @@ gems:
22
22
  source:
23
23
  type: git
24
24
  name: ruby/gem_rbs_collection
25
- revision: 27243a7d18fd7f7333b9daa35eeca2c37472586e
25
+ revision: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
26
26
  remote: https://github.com/ruby/gem_rbs_collection.git
27
27
  repo_dir: gems
28
28
  - name: activemodel
@@ -30,7 +30,7 @@ gems:
30
30
  source:
31
31
  type: git
32
32
  name: ruby/gem_rbs_collection
33
- revision: 27243a7d18fd7f7333b9daa35eeca2c37472586e
33
+ revision: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
34
34
  remote: https://github.com/ruby/gem_rbs_collection.git
35
35
  repo_dir: gems
36
36
  - name: activerecord
@@ -38,7 +38,7 @@ gems:
38
38
  source:
39
39
  type: git
40
40
  name: ruby/gem_rbs_collection
41
- revision: 27243a7d18fd7f7333b9daa35eeca2c37472586e
41
+ revision: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
42
42
  remote: https://github.com/ruby/gem_rbs_collection.git
43
43
  repo_dir: gems
44
44
  - name: activestorage
@@ -46,7 +46,7 @@ gems:
46
46
  source:
47
47
  type: git
48
48
  name: ruby/gem_rbs_collection
49
- revision: 27243a7d18fd7f7333b9daa35eeca2c37472586e
49
+ revision: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
50
50
  remote: https://github.com/ruby/gem_rbs_collection.git
51
51
  repo_dir: gems
52
52
  - name: activesupport
@@ -54,7 +54,7 @@ gems:
54
54
  source:
55
55
  type: git
56
56
  name: ruby/gem_rbs_collection
57
- revision: 27243a7d18fd7f7333b9daa35eeca2c37472586e
57
+ revision: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
58
58
  remote: https://github.com/ruby/gem_rbs_collection.git
59
59
  repo_dir: gems
60
60
  - name: ast
@@ -62,7 +62,7 @@ gems:
62
62
  source:
63
63
  type: git
64
64
  name: ruby/gem_rbs_collection
65
- revision: 27243a7d18fd7f7333b9daa35eeca2c37472586e
65
+ revision: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
66
66
  remote: https://github.com/ruby/gem_rbs_collection.git
67
67
  repo_dir: gems
68
68
  - name: base64
@@ -70,7 +70,7 @@ gems:
70
70
  source:
71
71
  type: git
72
72
  name: ruby/gem_rbs_collection
73
- revision: 27243a7d18fd7f7333b9daa35eeca2c37472586e
73
+ revision: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
74
74
  remote: https://github.com/ruby/gem_rbs_collection.git
75
75
  repo_dir: gems
76
76
  - name: bcrypt
@@ -78,7 +78,7 @@ gems:
78
78
  source:
79
79
  type: git
80
80
  name: ruby/gem_rbs_collection
81
- revision: 27243a7d18fd7f7333b9daa35eeca2c37472586e
81
+ revision: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
82
82
  remote: https://github.com/ruby/gem_rbs_collection.git
83
83
  repo_dir: gems
84
84
  - name: benchmark
@@ -90,7 +90,7 @@ gems:
90
90
  source:
91
91
  type: git
92
92
  name: ruby/gem_rbs_collection
93
- revision: 27243a7d18fd7f7333b9daa35eeca2c37472586e
93
+ revision: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
94
94
  remote: https://github.com/ruby/gem_rbs_collection.git
95
95
  repo_dir: gems
96
96
  - name: cgi
@@ -102,7 +102,7 @@ gems:
102
102
  source:
103
103
  type: git
104
104
  name: ruby/gem_rbs_collection
105
- revision: 27243a7d18fd7f7333b9daa35eeca2c37472586e
105
+ revision: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
106
106
  remote: https://github.com/ruby/gem_rbs_collection.git
107
107
  repo_dir: gems
108
108
  - name: connection_pool
@@ -110,7 +110,7 @@ gems:
110
110
  source:
111
111
  type: git
112
112
  name: ruby/gem_rbs_collection
113
- revision: 27243a7d18fd7f7333b9daa35eeca2c37472586e
113
+ revision: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
114
114
  remote: https://github.com/ruby/gem_rbs_collection.git
115
115
  repo_dir: gems
116
116
  - name: date
@@ -142,7 +142,7 @@ gems:
142
142
  source:
143
143
  type: git
144
144
  name: ruby/gem_rbs_collection
145
- revision: 27243a7d18fd7f7333b9daa35eeca2c37472586e
145
+ revision: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
146
146
  remote: https://github.com/ruby/gem_rbs_collection.git
147
147
  repo_dir: gems
148
148
  - name: i18n
@@ -150,7 +150,7 @@ gems:
150
150
  source:
151
151
  type: git
152
152
  name: ruby/gem_rbs_collection
153
- revision: 27243a7d18fd7f7333b9daa35eeca2c37472586e
153
+ revision: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
154
154
  remote: https://github.com/ruby/gem_rbs_collection.git
155
155
  repo_dir: gems
156
156
  - name: io-console
@@ -170,7 +170,7 @@ gems:
170
170
  source:
171
171
  type: git
172
172
  name: ruby/gem_rbs_collection
173
- revision: 27243a7d18fd7f7333b9daa35eeca2c37472586e
173
+ revision: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
174
174
  remote: https://github.com/ruby/gem_rbs_collection.git
175
175
  repo_dir: gems
176
176
  - name: minitest
@@ -190,7 +190,7 @@ gems:
190
190
  source:
191
191
  type: git
192
192
  name: ruby/gem_rbs_collection
193
- revision: 27243a7d18fd7f7333b9daa35eeca2c37472586e
193
+ revision: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
194
194
  remote: https://github.com/ruby/gem_rbs_collection.git
195
195
  repo_dir: gems
196
196
  - name: openssl
@@ -206,7 +206,7 @@ gems:
206
206
  source:
207
207
  type: git
208
208
  name: ruby/gem_rbs_collection
209
- revision: 27243a7d18fd7f7333b9daa35eeca2c37472586e
209
+ revision: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
210
210
  remote: https://github.com/ruby/gem_rbs_collection.git
211
211
  repo_dir: gems
212
212
  - name: parser
@@ -214,7 +214,7 @@ gems:
214
214
  source:
215
215
  type: git
216
216
  name: ruby/gem_rbs_collection
217
- revision: 27243a7d18fd7f7333b9daa35eeca2c37472586e
217
+ revision: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
218
218
  remote: https://github.com/ruby/gem_rbs_collection.git
219
219
  repo_dir: gems
220
220
  - name: pathname
@@ -230,7 +230,7 @@ gems:
230
230
  source:
231
231
  type: git
232
232
  name: ruby/gem_rbs_collection
233
- revision: 27243a7d18fd7f7333b9daa35eeca2c37472586e
233
+ revision: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
234
234
  remote: https://github.com/ruby/gem_rbs_collection.git
235
235
  repo_dir: gems
236
236
  - name: rails-dom-testing
@@ -238,7 +238,7 @@ gems:
238
238
  source:
239
239
  type: git
240
240
  name: ruby/gem_rbs_collection
241
- revision: 27243a7d18fd7f7333b9daa35eeca2c37472586e
241
+ revision: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
242
242
  remote: https://github.com/ruby/gem_rbs_collection.git
243
243
  repo_dir: gems
244
244
  - name: rails-html-sanitizer
@@ -246,7 +246,7 @@ gems:
246
246
  source:
247
247
  type: git
248
248
  name: ruby/gem_rbs_collection
249
- revision: 27243a7d18fd7f7333b9daa35eeca2c37472586e
249
+ revision: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
250
250
  remote: https://github.com/ruby/gem_rbs_collection.git
251
251
  repo_dir: gems
252
252
  - name: railties
@@ -254,7 +254,7 @@ gems:
254
254
  source:
255
255
  type: git
256
256
  name: ruby/gem_rbs_collection
257
- revision: 27243a7d18fd7f7333b9daa35eeca2c37472586e
257
+ revision: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
258
258
  remote: https://github.com/ruby/gem_rbs_collection.git
259
259
  repo_dir: gems
260
260
  - name: rainbow
@@ -262,7 +262,7 @@ gems:
262
262
  source:
263
263
  type: git
264
264
  name: ruby/gem_rbs_collection
265
- revision: 27243a7d18fd7f7333b9daa35eeca2c37472586e
265
+ revision: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
266
266
  remote: https://github.com/ruby/gem_rbs_collection.git
267
267
  repo_dir: gems
268
268
  - name: rake
@@ -270,7 +270,7 @@ gems:
270
270
  source:
271
271
  type: git
272
272
  name: ruby/gem_rbs_collection
273
- revision: 27243a7d18fd7f7333b9daa35eeca2c37472586e
273
+ revision: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
274
274
  remote: https://github.com/ruby/gem_rbs_collection.git
275
275
  repo_dir: gems
276
276
  - name: rbs
@@ -286,7 +286,7 @@ gems:
286
286
  source:
287
287
  type: git
288
288
  name: ruby/gem_rbs_collection
289
- revision: 27243a7d18fd7f7333b9daa35eeca2c37472586e
289
+ revision: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
290
290
  remote: https://github.com/ruby/gem_rbs_collection.git
291
291
  repo_dir: gems
292
292
  - name: rubocop
@@ -294,7 +294,7 @@ gems:
294
294
  source:
295
295
  type: git
296
296
  name: ruby/gem_rbs_collection
297
- revision: 27243a7d18fd7f7333b9daa35eeca2c37472586e
297
+ revision: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
298
298
  remote: https://github.com/ruby/gem_rbs_collection.git
299
299
  repo_dir: gems
300
300
  - name: rubocop-ast
@@ -302,7 +302,7 @@ gems:
302
302
  source:
303
303
  type: git
304
304
  name: ruby/gem_rbs_collection
305
- revision: 27243a7d18fd7f7333b9daa35eeca2c37472586e
305
+ revision: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
306
306
  remote: https://github.com/ruby/gem_rbs_collection.git
307
307
  repo_dir: gems
308
308
  - name: securerandom
@@ -322,7 +322,7 @@ gems:
322
322
  source:
323
323
  type: git
324
324
  name: ruby/gem_rbs_collection
325
- revision: 27243a7d18fd7f7333b9daa35eeca2c37472586e
325
+ revision: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
326
326
  remote: https://github.com/ruby/gem_rbs_collection.git
327
327
  repo_dir: gems
328
328
  - name: stringio
@@ -338,7 +338,7 @@ gems:
338
338
  source:
339
339
  type: git
340
340
  name: ruby/gem_rbs_collection
341
- revision: 27243a7d18fd7f7333b9daa35eeca2c37472586e
341
+ revision: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
342
342
  remote: https://github.com/ruby/gem_rbs_collection.git
343
343
  repo_dir: gems
344
344
  - name: time
@@ -358,7 +358,7 @@ gems:
358
358
  source:
359
359
  type: git
360
360
  name: ruby/gem_rbs_collection
361
- revision: 27243a7d18fd7f7333b9daa35eeca2c37472586e
361
+ revision: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
362
362
  remote: https://github.com/ruby/gem_rbs_collection.git
363
363
  repo_dir: gems
364
364
  - name: uri
@@ -4,6 +4,8 @@ module RbsActiverecord
4
4
  class Generator
5
5
  module Enum
6
6
  class InstanceMethods < Base
7
+ include Utils
8
+
7
9
  attr_reader model: RbsActiverecord::Model
8
10
 
9
11
  attr_reader declarations: Array[Prism::CallNode]
@@ -20,6 +22,9 @@ module RbsActiverecord
20
22
 
21
23
  # @rbs node: Prism::CallNode
22
24
  def enum: (Prism::CallNode node) -> String
25
+
26
+ # @rbs name: String
27
+ def column_type: (String name) -> String
23
28
  end
24
29
  end
25
30
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rbs_activerecord
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.2
4
+ version: 1.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Takeshi KOMIYA
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-02-28 00:00:00.000000000 Z
11
+ date: 2025-03-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord