rbs_activemodel 1.3.1 → 1.4.1

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.
@@ -1,14 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "active_model"
4
3
  require "active_record"
4
+ require "active_support/core_ext/integer" # Load integer extensions to avoid AM's error
5
5
  require "bigdecimal"
6
6
  require "date"
7
7
  require "rbs"
8
8
 
9
9
  module RbsActivemodel
10
10
  module ActiveModel
11
- def self.all
11
+ def self.all #: Array[Class]
12
12
  ObjectSpace.each_object.select do |obj|
13
13
  obj.is_a?(Class) && obj.ancestors.include?(::ActiveModel::Validations)
14
14
  rescue StandardError
@@ -16,13 +16,14 @@ module RbsActivemodel
16
16
  end
17
17
  end
18
18
 
19
- def self.class_to_rbs(klass)
19
+ # @rbs klass: Class
20
+ def self.class_to_rbs(klass) #: String?
20
21
  Generator.new(klass).generate
21
22
  end
22
23
 
23
24
  class Generator
24
25
  MIXINS = [::ActiveModel::Model, ::ActiveModel::Attributes,
25
- ::ActiveModel::SecurePassword, ::ActiveModel::Validations].freeze
26
+ ::ActiveModel::SecurePassword, ::ActiveModel::Validations].freeze #: Array[Module]
26
27
  TYPES = {
27
28
  big_integer: Integer,
28
29
  binary: String,
@@ -35,14 +36,19 @@ module RbsActivemodel
35
36
  integer: Integer,
36
37
  string: String,
37
38
  time: Time
38
- }.freeze
39
+ }.freeze #: Hash[Symbol, Class | String | Symbol]
39
40
 
40
- def initialize(klass)
41
+ # @rbs @secure_password: String
42
+ # @rbs @mixins: String
43
+ # @rbs @attributes: String
44
+
45
+ # @rbs klass: Class
46
+ def initialize(klass) #: void
41
47
  @klass = klass
42
48
  @klass_name = klass.name || ""
43
49
  end
44
50
 
45
- def generate
51
+ def generate #: String?
46
52
  return if mixins.empty? && secure_password.empty? && attributes.empty?
47
53
 
48
54
  format <<~RBS
@@ -58,16 +64,18 @@ module RbsActivemodel
58
64
 
59
65
  private
60
66
 
61
- attr_reader :klass, :klass_name
67
+ attr_reader :klass #: Class
68
+ attr_reader :klass_name #: String
62
69
 
63
- def format(rbs)
70
+ # @rbs rbs: String
71
+ def format(rbs) #: String
64
72
  parsed = RBS::Parser.parse_signature(rbs)
65
73
  StringIO.new.tap do |out|
66
- RBS::Writer.new(out: out).write(parsed[1] + parsed[2])
74
+ RBS::Writer.new(out:).write(parsed[1] + parsed[2])
67
75
  end.string
68
76
  end
69
77
 
70
- def header
78
+ def header #: String
71
79
  namespace = +""
72
80
  klass_name.split("::").map do |mod_name|
73
81
  namespace += "::#{mod_name}"
@@ -88,13 +96,13 @@ module RbsActivemodel
88
96
  end.join("\n")
89
97
  end
90
98
 
91
- def secure_password
99
+ def secure_password #: String
92
100
  return "" if klass.ancestors.none?(::ActiveModel::SecurePassword::InstanceMethodsOnActivation)
93
101
 
94
102
  methods = klass.instance_methods.grep(/^authenticate_/)
95
103
  @secure_password ||= methods.filter_map do |method_name|
96
104
  attribute = method_name.to_s.split("_").last
97
- next unless klass.instance_methods.include?(:"#{attribute}_confirmation")
105
+ next unless klass.method_defined?(:"#{attribute}_confirmation")
98
106
 
99
107
  <<~RBS
100
108
  attr_reader #{attribute}: String?
@@ -110,7 +118,7 @@ module RbsActivemodel
110
118
  end.join("\n")
111
119
  end
112
120
 
113
- def mixins
121
+ def mixins #: String
114
122
  return "" if klass < ActiveRecord::Base
115
123
 
116
124
  @mixins ||= MIXINS.each_with_object([]) do |mod, mixins|
@@ -121,7 +129,7 @@ module RbsActivemodel
121
129
  end.join("\n")
122
130
  end
123
131
 
124
- def attributes
132
+ def attributes #: String
125
133
  return "" unless klass < ::ActiveModel::Attributes
126
134
 
127
135
  # @type var model: untyped
@@ -136,7 +144,7 @@ module RbsActivemodel
136
144
  else
137
145
  type.to_s
138
146
  end
139
- suffix = "?" unless required_attribute?(name)
147
+ suffix = "?" unless having_default?(name) || required_attribute?(name)
140
148
  <<~RBS
141
149
  %a{pure}
142
150
  def #{name}: () -> #{type_name}#{suffix}
@@ -145,7 +153,15 @@ module RbsActivemodel
145
153
  end.join("\n")
146
154
  end
147
155
 
148
- def required_attribute?(name)
156
+ # @rbs name: String
157
+ def having_default?(name) #: bool
158
+ # @type var model: untyped
159
+ model = klass
160
+ model._default_attributes[name].is_a?(::ActiveModel::Attribute::UserProvidedDefault)
161
+ end
162
+
163
+ # @rbs name: String
164
+ def required_attribute?(name) #: bool
149
165
  return false unless klass < ::ActiveModel::Validations
150
166
 
151
167
  klass.validators.any? do |v| # steep:ignore NoMethod
@@ -153,7 +169,7 @@ module RbsActivemodel
153
169
  end
154
170
  end
155
171
 
156
- def footer
172
+ def footer #: String
157
173
  "end\n" * klass.module_parents.size # steep:ignore
158
174
  end
159
175
  end
@@ -5,9 +5,12 @@ require "rake/tasklib"
5
5
 
6
6
  module RbsActivemodel
7
7
  class RakeTask < Rake::TaskLib
8
- attr_accessor :name, :signature_root_dir
8
+ attr_accessor :name #: Symbol
9
+ attr_accessor :signature_root_dir #: Pathname
9
10
 
10
- def initialize(name = :'rbs:activemodel', &block)
11
+ # @rbs name: Symbol
12
+ # @rbs &block: ?(self) -> void
13
+ def initialize(name = :"rbs:activemodel", &block) #: void
11
14
  super()
12
15
 
13
16
  @name = name
@@ -20,14 +23,14 @@ module RbsActivemodel
20
23
  define_setup_task
21
24
  end
22
25
 
23
- def define_setup_task
26
+ def define_setup_task #: void
24
27
  desc "Run all tasks of rbs_activemodel"
25
28
 
26
29
  deps = [:"#{name}:clean", :"#{name}:generate"]
27
30
  task("#{name}:setup" => deps)
28
31
  end
29
32
 
30
- def define_generate_task
33
+ def define_generate_task #: void
31
34
  desc "Generate RBS files for activemodel gem"
32
35
  task("#{name}:generate": :environment) do
33
36
  require "rbs_activemodel" # load RbsActivemodel lazily
@@ -45,7 +48,7 @@ module RbsActivemodel
45
48
  end
46
49
  end
47
50
 
48
- def define_clean_task
51
+ def define_clean_task #: void
49
52
  desc "Clean RBS files for config gem"
50
53
  task("#{name}:clean": :environment) do
51
54
  signature_root_dir.rmtree if signature_root_dir.exist?
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RbsActivemodel
4
- VERSION = "1.3.1"
4
+ VERSION = "1.4.1" #: String
5
5
  end
@@ -2,43 +2,43 @@
2
2
  path: ".gem_rbs_collection"
3
3
  gems:
4
4
  - name: actionpack
5
- version: '7.2'
5
+ version: '8.1'
6
6
  source:
7
7
  type: git
8
8
  name: ruby/gem_rbs_collection
9
- revision: e9bc1bf94c262e79a2d599a9c173342915b29808
9
+ revision: ddaa559df3fbd84ca630e937e2eb59b3e1b62e3b
10
10
  remote: https://github.com/ruby/gem_rbs_collection.git
11
11
  repo_dir: gems
12
12
  - name: actionview
13
- version: '6.0'
13
+ version: '8.1'
14
14
  source:
15
15
  type: git
16
16
  name: ruby/gem_rbs_collection
17
- revision: e9bc1bf94c262e79a2d599a9c173342915b29808
17
+ revision: ddaa559df3fbd84ca630e937e2eb59b3e1b62e3b
18
18
  remote: https://github.com/ruby/gem_rbs_collection.git
19
19
  repo_dir: gems
20
20
  - name: activemodel
21
- version: '7.0'
21
+ version: '8.1'
22
22
  source:
23
23
  type: git
24
24
  name: ruby/gem_rbs_collection
25
- revision: e9bc1bf94c262e79a2d599a9c173342915b29808
25
+ revision: ddaa559df3fbd84ca630e937e2eb59b3e1b62e3b
26
26
  remote: https://github.com/ruby/gem_rbs_collection.git
27
27
  repo_dir: gems
28
28
  - name: activerecord
29
- version: '7.1'
29
+ version: '8.1'
30
30
  source:
31
31
  type: git
32
32
  name: ruby/gem_rbs_collection
33
- revision: e9bc1bf94c262e79a2d599a9c173342915b29808
33
+ revision: ddaa559df3fbd84ca630e937e2eb59b3e1b62e3b
34
34
  remote: https://github.com/ruby/gem_rbs_collection.git
35
35
  repo_dir: gems
36
36
  - name: activesupport
37
- version: '7.0'
37
+ version: '8.1'
38
38
  source:
39
39
  type: git
40
40
  name: ruby/gem_rbs_collection
41
- revision: e9bc1bf94c262e79a2d599a9c173342915b29808
41
+ revision: ddaa559df3fbd84ca630e937e2eb59b3e1b62e3b
42
42
  remote: https://github.com/ruby/gem_rbs_collection.git
43
43
  repo_dir: gems
44
44
  - name: ast
@@ -46,35 +46,39 @@ gems:
46
46
  source:
47
47
  type: git
48
48
  name: ruby/gem_rbs_collection
49
- revision: e9bc1bf94c262e79a2d599a9c173342915b29808
49
+ revision: ddaa559df3fbd84ca630e937e2eb59b3e1b62e3b
50
50
  remote: https://github.com/ruby/gem_rbs_collection.git
51
51
  repo_dir: gems
52
52
  - name: base64
53
- version: '0'
53
+ version: 0.3.0
54
54
  source:
55
- type: stdlib
55
+ type: rubygems
56
56
  - name: bcrypt
57
57
  version: '3.1'
58
58
  source:
59
59
  type: git
60
60
  name: ruby/gem_rbs_collection
61
- revision: e9bc1bf94c262e79a2d599a9c173342915b29808
61
+ revision: ddaa559df3fbd84ca630e937e2eb59b3e1b62e3b
62
62
  remote: https://github.com/ruby/gem_rbs_collection.git
63
63
  repo_dir: gems
64
64
  - name: bigdecimal
65
- version: '0'
65
+ version: 4.1.3
66
66
  source:
67
- type: stdlib
67
+ type: rubygems
68
68
  - name: cgi
69
- version: '0'
69
+ version: '0.5'
70
70
  source:
71
- type: stdlib
71
+ type: git
72
+ name: ruby/gem_rbs_collection
73
+ revision: ddaa559df3fbd84ca630e937e2eb59b3e1b62e3b
74
+ remote: https://github.com/ruby/gem_rbs_collection.git
75
+ repo_dir: gems
72
76
  - name: concurrent-ruby
73
77
  version: '1.1'
74
78
  source:
75
79
  type: git
76
80
  name: ruby/gem_rbs_collection
77
- revision: e9bc1bf94c262e79a2d599a9c173342915b29808
81
+ revision: ddaa559df3fbd84ca630e937e2eb59b3e1b62e3b
78
82
  remote: https://github.com/ruby/gem_rbs_collection.git
79
83
  repo_dir: gems
80
84
  - name: connection_pool
@@ -82,14 +86,22 @@ gems:
82
86
  source:
83
87
  type: git
84
88
  name: ruby/gem_rbs_collection
85
- revision: e9bc1bf94c262e79a2d599a9c173342915b29808
89
+ revision: ddaa559df3fbd84ca630e937e2eb59b3e1b62e3b
86
90
  remote: https://github.com/ruby/gem_rbs_collection.git
87
91
  repo_dir: gems
88
92
  - name: date
89
93
  version: '0'
90
94
  source:
91
95
  type: stdlib
92
- - name: dbm
96
+ - name: delegate
97
+ version: '0'
98
+ source:
99
+ type: stdlib
100
+ - name: did_you_mean
101
+ version: '0'
102
+ source:
103
+ type: stdlib
104
+ - name: digest
93
105
  version: '0'
94
106
  source:
95
107
  type: stdlib
@@ -106,7 +118,7 @@ gems:
106
118
  source:
107
119
  type: git
108
120
  name: ruby/gem_rbs_collection
109
- revision: e9bc1bf94c262e79a2d599a9c173342915b29808
121
+ revision: ddaa559df3fbd84ca630e937e2eb59b3e1b62e3b
110
122
  remote: https://github.com/ruby/gem_rbs_collection.git
111
123
  repo_dir: gems
112
124
  - name: io-console
@@ -117,28 +129,44 @@ gems:
117
129
  version: '0'
118
130
  source:
119
131
  type: stdlib
132
+ - name: language_server-protocol
133
+ version: 3.17.0.6
134
+ source:
135
+ type: rubygems
136
+ - name: lint_roller
137
+ version: '1.1'
138
+ source:
139
+ type: git
140
+ name: ruby/gem_rbs_collection
141
+ revision: ddaa559df3fbd84ca630e937e2eb59b3e1b62e3b
142
+ remote: https://github.com/ruby/gem_rbs_collection.git
143
+ repo_dir: gems
120
144
  - name: logger
121
- version: '0'
145
+ version: '1.7'
122
146
  source:
123
- type: stdlib
147
+ type: git
148
+ name: ruby/gem_rbs_collection
149
+ revision: ddaa559df3fbd84ca630e937e2eb59b3e1b62e3b
150
+ remote: https://github.com/ruby/gem_rbs_collection.git
151
+ repo_dir: gems
124
152
  - name: minitest
125
- version: '0'
153
+ version: '5.25'
126
154
  source:
127
- type: stdlib
155
+ type: git
156
+ name: ruby/gem_rbs_collection
157
+ revision: ddaa559df3fbd84ca630e937e2eb59b3e1b62e3b
158
+ remote: https://github.com/ruby/gem_rbs_collection.git
159
+ repo_dir: gems
128
160
  - name: monitor
129
161
  version: '0'
130
162
  source:
131
163
  type: stdlib
132
- - name: mutex_m
133
- version: '0'
134
- source:
135
- type: stdlib
136
164
  - name: nokogiri
137
165
  version: '1.11'
138
166
  source:
139
167
  type: git
140
168
  name: ruby/gem_rbs_collection
141
- revision: e9bc1bf94c262e79a2d599a9c173342915b29808
169
+ revision: ddaa559df3fbd84ca630e937e2eb59b3e1b62e3b
142
170
  remote: https://github.com/ruby/gem_rbs_collection.git
143
171
  repo_dir: gems
144
172
  - name: openssl
@@ -154,7 +182,7 @@ gems:
154
182
  source:
155
183
  type: git
156
184
  name: ruby/gem_rbs_collection
157
- revision: e9bc1bf94c262e79a2d599a9c173342915b29808
185
+ revision: ddaa559df3fbd84ca630e937e2eb59b3e1b62e3b
158
186
  remote: https://github.com/ruby/gem_rbs_collection.git
159
187
  repo_dir: gems
160
188
  - name: parser
@@ -162,27 +190,39 @@ gems:
162
190
  source:
163
191
  type: git
164
192
  name: ruby/gem_rbs_collection
165
- revision: e9bc1bf94c262e79a2d599a9c173342915b29808
193
+ revision: ddaa559df3fbd84ca630e937e2eb59b3e1b62e3b
166
194
  remote: https://github.com/ruby/gem_rbs_collection.git
167
195
  repo_dir: gems
168
196
  - name: pathname
169
197
  version: '0'
170
198
  source:
171
199
  type: stdlib
172
- - name: pstore
200
+ - name: pp
173
201
  version: '0'
174
202
  source:
175
203
  type: stdlib
176
- - name: psych
204
+ - name: prettyprint
177
205
  version: '0'
178
206
  source:
179
207
  type: stdlib
208
+ - name: prism
209
+ version: 1.9.0
210
+ source:
211
+ type: rubygems
212
+ - name: racc
213
+ version: '1.8'
214
+ source:
215
+ type: git
216
+ name: ruby/gem_rbs_collection
217
+ revision: ddaa559df3fbd84ca630e937e2eb59b3e1b62e3b
218
+ remote: https://github.com/ruby/gem_rbs_collection.git
219
+ repo_dir: gems
180
220
  - name: rack
181
221
  version: '2.2'
182
222
  source:
183
223
  type: git
184
224
  name: ruby/gem_rbs_collection
185
- revision: e9bc1bf94c262e79a2d599a9c173342915b29808
225
+ revision: ddaa559df3fbd84ca630e937e2eb59b3e1b62e3b
186
226
  remote: https://github.com/ruby/gem_rbs_collection.git
187
227
  repo_dir: gems
188
228
  - name: rails-dom-testing
@@ -190,15 +230,23 @@ gems:
190
230
  source:
191
231
  type: git
192
232
  name: ruby/gem_rbs_collection
193
- revision: e9bc1bf94c262e79a2d599a9c173342915b29808
233
+ revision: ddaa559df3fbd84ca630e937e2eb59b3e1b62e3b
234
+ remote: https://github.com/ruby/gem_rbs_collection.git
235
+ repo_dir: gems
236
+ - name: rails-html-sanitizer
237
+ version: '1.6'
238
+ source:
239
+ type: git
240
+ name: ruby/gem_rbs_collection
241
+ revision: ddaa559df3fbd84ca630e937e2eb59b3e1b62e3b
194
242
  remote: https://github.com/ruby/gem_rbs_collection.git
195
243
  repo_dir: gems
196
244
  - name: railties
197
- version: '6.0'
245
+ version: '8.1'
198
246
  source:
199
247
  type: git
200
248
  name: ruby/gem_rbs_collection
201
- revision: e9bc1bf94c262e79a2d599a9c173342915b29808
249
+ revision: ddaa559df3fbd84ca630e937e2eb59b3e1b62e3b
202
250
  remote: https://github.com/ruby/gem_rbs_collection.git
203
251
  repo_dir: gems
204
252
  - name: rainbow
@@ -206,7 +254,7 @@ gems:
206
254
  source:
207
255
  type: git
208
256
  name: ruby/gem_rbs_collection
209
- revision: e9bc1bf94c262e79a2d599a9c173342915b29808
257
+ revision: ddaa559df3fbd84ca630e937e2eb59b3e1b62e3b
210
258
  remote: https://github.com/ruby/gem_rbs_collection.git
211
259
  repo_dir: gems
212
260
  - name: rake
@@ -214,11 +262,15 @@ gems:
214
262
  source:
215
263
  type: git
216
264
  name: ruby/gem_rbs_collection
217
- revision: e9bc1bf94c262e79a2d599a9c173342915b29808
265
+ revision: ddaa559df3fbd84ca630e937e2eb59b3e1b62e3b
218
266
  remote: https://github.com/ruby/gem_rbs_collection.git
219
267
  repo_dir: gems
268
+ - name: random-formatter
269
+ version: '0'
270
+ source:
271
+ type: stdlib
220
272
  - name: rbs
221
- version: 3.5.2
273
+ version: 4.2.0
222
274
  source:
223
275
  type: rubygems
224
276
  - name: rdoc
@@ -230,23 +282,27 @@ gems:
230
282
  source:
231
283
  type: git
232
284
  name: ruby/gem_rbs_collection
233
- revision: e9bc1bf94c262e79a2d599a9c173342915b29808
285
+ revision: ddaa559df3fbd84ca630e937e2eb59b3e1b62e3b
234
286
  remote: https://github.com/ruby/gem_rbs_collection.git
235
287
  repo_dir: gems
288
+ - name: ripper
289
+ version: '0'
290
+ source:
291
+ type: stdlib
236
292
  - name: rubocop
237
293
  version: '1.57'
238
294
  source:
239
295
  type: git
240
296
  name: ruby/gem_rbs_collection
241
- revision: e9bc1bf94c262e79a2d599a9c173342915b29808
297
+ revision: ddaa559df3fbd84ca630e937e2eb59b3e1b62e3b
242
298
  remote: https://github.com/ruby/gem_rbs_collection.git
243
299
  repo_dir: gems
244
300
  - name: rubocop-ast
245
- version: '1.30'
301
+ version: '1.46'
246
302
  source:
247
303
  type: git
248
304
  name: ruby/gem_rbs_collection
249
- revision: e9bc1bf94c262e79a2d599a9c173342915b29808
305
+ revision: ddaa559df3fbd84ca630e937e2eb59b3e1b62e3b
250
306
  remote: https://github.com/ruby/gem_rbs_collection.git
251
307
  repo_dir: gems
252
308
  - name: securerandom
@@ -261,6 +317,18 @@ gems:
261
317
  version: '0'
262
318
  source:
263
319
  type: stdlib
320
+ - name: sqlite3
321
+ version: '2.0'
322
+ source:
323
+ type: git
324
+ name: ruby/gem_rbs_collection
325
+ revision: ddaa559df3fbd84ca630e937e2eb59b3e1b62e3b
326
+ remote: https://github.com/ruby/gem_rbs_collection.git
327
+ repo_dir: gems
328
+ - name: stringio
329
+ version: '0'
330
+ source:
331
+ type: stdlib
264
332
  - name: strscan
265
333
  version: '0'
266
334
  source:
@@ -274,7 +342,7 @@ gems:
274
342
  source:
275
343
  type: git
276
344
  name: ruby/gem_rbs_collection
277
- revision: e9bc1bf94c262e79a2d599a9c173342915b29808
345
+ revision: ddaa559df3fbd84ca630e937e2eb59b3e1b62e3b
278
346
  remote: https://github.com/ruby/gem_rbs_collection.git
279
347
  repo_dir: gems
280
348
  - name: time
@@ -285,6 +353,10 @@ gems:
285
353
  version: '0'
286
354
  source:
287
355
  type: stdlib
356
+ - name: tmpdir
357
+ version: '0'
358
+ source:
359
+ type: stdlib
288
360
  - name: tsort
289
361
  version: '0'
290
362
  source:
@@ -294,11 +366,19 @@ gems:
294
366
  source:
295
367
  type: git
296
368
  name: ruby/gem_rbs_collection
297
- revision: e9bc1bf94c262e79a2d599a9c173342915b29808
369
+ revision: ddaa559df3fbd84ca630e937e2eb59b3e1b62e3b
298
370
  remote: https://github.com/ruby/gem_rbs_collection.git
299
371
  repo_dir: gems
300
372
  - name: uri
301
373
  version: '0'
302
374
  source:
303
375
  type: stdlib
376
+ - name: zeitwerk
377
+ version: '2.8'
378
+ source:
379
+ type: git
380
+ name: ruby/gem_rbs_collection
381
+ revision: ddaa559df3fbd84ca630e937e2eb59b3e1b62e3b
382
+ remote: https://github.com/ruby/gem_rbs_collection.git
383
+ repo_dir: gems
304
384
  gemfile_lock_path: Gemfile.lock
@@ -0,0 +1,7 @@
1
+ # Generated from lib/generators/rbs_activemodel/install_generator.rb with RBS::Inline
2
+
3
+ module RbsActivemodel
4
+ class InstallGenerator < Rails::Generators::Base
5
+ def create_raketask: () -> void
6
+ end
7
+ end
@@ -1,31 +1,52 @@
1
+ # Generated from lib/rbs_activemodel/active_model.rb with RBS::Inline
2
+
1
3
  module RbsActivemodel
2
4
  module ActiveModel
3
5
  def self.all: () -> Array[Class]
6
+
7
+ # @rbs klass: Class
4
8
  def self.class_to_rbs: (Class klass) -> String?
5
9
 
6
10
  class Generator
7
11
  MIXINS: Array[Module]
12
+
8
13
  TYPES: Hash[Symbol, Class | String | Symbol]
9
14
 
10
- @secure_password: String
11
- @mixins: String
12
15
  @attributes: String
13
16
 
17
+ @mixins: String
18
+
19
+ @secure_password: String
20
+
21
+ # @rbs klass: Class
14
22
  def initialize: (Class klass) -> void
23
+
15
24
  def generate: () -> String?
16
25
 
17
26
  private
18
27
 
19
28
  attr_reader klass: Class
29
+
20
30
  attr_reader klass_name: String
21
31
 
32
+ # @rbs rbs: String
22
33
  def format: (String rbs) -> String
34
+
23
35
  def header: () -> String
36
+
24
37
  def secure_password: () -> String
38
+
25
39
  def mixins: () -> String
40
+
26
41
  def attributes: () -> String
27
- def footer: () -> String
42
+
43
+ # @rbs name: String
44
+ def having_default?: (String name) -> bool
45
+
46
+ # @rbs name: String
28
47
  def required_attribute?: (String name) -> bool
48
+
49
+ def footer: () -> String
29
50
  end
30
51
  end
31
52
  end
@@ -1,11 +1,19 @@
1
+ # Generated from lib/rbs_activemodel/rake_task.rb with RBS::Inline
2
+
1
3
  module RbsActivemodel
2
4
  class RakeTask < Rake::TaskLib
3
5
  attr_accessor name: Symbol
6
+
4
7
  attr_accessor signature_root_dir: Pathname
5
8
 
9
+ # @rbs name: Symbol
10
+ # @rbs &block: ?(self) -> void
6
11
  def initialize: (?Symbol name) ?{ (self) -> void } -> void
12
+
7
13
  def define_setup_task: () -> void
14
+
8
15
  def define_generate_task: () -> void
16
+
9
17
  def define_clean_task: () -> void
10
18
  end
11
19
  end
@@ -0,0 +1,5 @@
1
+ # Generated from lib/rbs_activemodel/version.rb with RBS::Inline
2
+
3
+ module RbsActivemodel
4
+ VERSION: String
5
+ end
@@ -1,4 +1,6 @@
1
+ # Generated from lib/rbs_activemodel.rb with RBS::Inline
2
+
1
3
  module RbsActivemodel
2
- VERSION: String
3
- # See the writing guide of rbs: https://github.com/ruby/rbs#guides
4
+ class Error < StandardError
5
+ end
4
6
  end