rbs_activemodel 1.3.0 → 1.4.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 15cfd1e132880c23b8273e2d5f1defa4da82d4126efd688caff235b65f3eeb1b
4
- data.tar.gz: 7a37d64084a0721c3d1009fef36af62360bf014bc0a255b3ba0f1aae41f89293
3
+ metadata.gz: 0c967f4e7e9fb2fc4c3a5d3a7be3019280e9ee9a8b4653b536cabd1f38512165
4
+ data.tar.gz: 5f936185b9e6cf7d635beab513a866239a637035f5e22a89576b6bb7ff581372
5
5
  SHA512:
6
- metadata.gz: 6c5bd0cc119b1e706f8649d75bbd52e2a9813d7b4602053ce957a532bd93cecad4d67aa1a4e79926c816dd0c87df6540b25e94a929e344fe4ec37ebe9dbca1a2
7
- data.tar.gz: de968f81c24ba6338e259aa3db2ec84812e732d8465331e054c6d1d4f1f5b9602fba76d11a7173f2670a6c030df92428134d867e45177bebb0da98fa21cca2ee
6
+ metadata.gz: 67c5c12236845803dd060cf0121a57ab426a32b68194ce1150745a2e3fa2ec75aa4618d62bde4dde0b47a78382e2c7875b08e15ef88a1b1c45760c3bac378cd7
7
+ data.tar.gz: cd91a15201756ec4af1c621e213b744bfe85ae2cbb48f21229aa4b1c659c5f6468b0036f9e3ed113383092efc2c6db688038f5fe4fb651a8d45edaafcc7a3d92
data/.rubocop.yml CHANGED
@@ -1,6 +1,10 @@
1
1
  AllCops:
2
2
  TargetRubyVersion: 2.7
3
3
 
4
+ Layout/LeadingCommentSpace:
5
+ AllowRBSInlineAnnotation: true
6
+ AllowSteepAnnotation: true
7
+
4
8
  Metrics/BlockLength:
5
9
  Exclude:
6
10
  - "rbs_activemodel.gemspec"
@@ -2,5 +2,23 @@
2
2
  "[ruby]": {
3
3
  "editor.defaultFormatter": "Shopify.ruby-lsp"
4
4
  },
5
- "rbs-helper.signature-directory": "sig"
5
+ "rbs-helper.signature-directory": "sig",
6
+ "cSpell.words": [
7
+ "Activemodel",
8
+ "activerecord",
9
+ "bigdecimal",
10
+ "bindir",
11
+ "klass",
12
+ "KOMIYA",
13
+ "mkpath",
14
+ "popen",
15
+ "raketask",
16
+ "readlines",
17
+ "rmtree",
18
+ "rubygems",
19
+ "Takeshi",
20
+ "tasklib"
21
+ ],
22
+ "rbs-helper.rbs-inline-on-save": true,
23
+ "rbs-helper.rbs-inline-signature-directory": "sig/"
6
24
  }
data/README.md CHANGED
@@ -6,7 +6,7 @@ rbs_activemodel is a RBS generator for activemodel gem.
6
6
 
7
7
  Add a new entry to your Gemfile and run `bundle install`:
8
8
 
9
- group :deveopment do
9
+ group :development do
10
10
  gem 'rbs_activemodel', require: false
11
11
  end
12
12
 
@@ -4,7 +4,7 @@ require "rails"
4
4
 
5
5
  module RbsActivemodel
6
6
  class InstallGenerator < Rails::Generators::Base
7
- def create_raketask
7
+ def create_raketask #: void
8
8
  create_file "lib/tasks/rbs_activemodel.rake", <<~RUBY
9
9
  # frozen_string_literal: true
10
10
 
@@ -8,7 +8,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
74
  RBS::Writer.new(out: 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,7 +96,7 @@ 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_/)
@@ -97,7 +105,7 @@ module RbsActivemodel
97
105
  next unless klass.instance_methods.include?(:"#{attribute}_confirmation")
98
106
 
99
107
  <<~RBS
100
- attr_reader #{attribute}: String
108
+ attr_reader #{attribute}: String?
101
109
  attr_accessor #{attribute}_confirmation: String
102
110
  attr_accessor #{attribute}_challenge: String
103
111
 
@@ -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,16 @@ 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
+ klass.instance_eval { pending_attribute_modifications }
159
+ .find do |mod|
160
+ mod.is_a?(::ActiveModel::AttributeRegistration::ClassMethods::PendingDefault) && mod.name == name
161
+ end
162
+ end
163
+
164
+ # @rbs name: String
165
+ def required_attribute?(name) #: bool
149
166
  return false unless klass < ::ActiveModel::Validations
150
167
 
151
168
  klass.validators.any? do |v| # steep:ignore NoMethod
@@ -153,7 +170,7 @@ module RbsActivemodel
153
170
  end
154
171
  end
155
172
 
156
- def footer
173
+ def footer #: String
157
174
  "end\n" * klass.module_parents.size # steep:ignore
158
175
  end
159
176
  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.0"
4
+ VERSION = "1.4.0" #: 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: e9bc1bf94c262e79a2d599a9c173342915b29808
9
+ revision: 7651e7b92c15bd5b4bc11fd3dd455be0ea571fd0
10
10
  remote: https://github.com/ruby/gem_rbs_collection.git
11
11
  repo_dir: gems
12
12
  - name: actionview
@@ -14,23 +14,23 @@ gems:
14
14
  source:
15
15
  type: git
16
16
  name: ruby/gem_rbs_collection
17
- revision: e9bc1bf94c262e79a2d599a9c173342915b29808
17
+ revision: 7651e7b92c15bd5b4bc11fd3dd455be0ea571fd0
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: '7.1'
22
22
  source:
23
23
  type: git
24
24
  name: ruby/gem_rbs_collection
25
- revision: e9bc1bf94c262e79a2d599a9c173342915b29808
25
+ revision: 7651e7b92c15bd5b4bc11fd3dd455be0ea571fd0
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: '7.2'
30
30
  source:
31
31
  type: git
32
32
  name: ruby/gem_rbs_collection
33
- revision: e9bc1bf94c262e79a2d599a9c173342915b29808
33
+ revision: 7651e7b92c15bd5b4bc11fd3dd455be0ea571fd0
34
34
  remote: https://github.com/ruby/gem_rbs_collection.git
35
35
  repo_dir: gems
36
36
  - name: activesupport
@@ -38,7 +38,7 @@ gems:
38
38
  source:
39
39
  type: git
40
40
  name: ruby/gem_rbs_collection
41
- revision: e9bc1bf94c262e79a2d599a9c173342915b29808
41
+ revision: 7651e7b92c15bd5b4bc11fd3dd455be0ea571fd0
42
42
  remote: https://github.com/ruby/gem_rbs_collection.git
43
43
  repo_dir: gems
44
44
  - name: ast
@@ -46,7 +46,7 @@ gems:
46
46
  source:
47
47
  type: git
48
48
  name: ruby/gem_rbs_collection
49
- revision: e9bc1bf94c262e79a2d599a9c173342915b29808
49
+ revision: 7651e7b92c15bd5b4bc11fd3dd455be0ea571fd0
50
50
  remote: https://github.com/ruby/gem_rbs_collection.git
51
51
  repo_dir: gems
52
52
  - name: base64
@@ -58,7 +58,7 @@ gems:
58
58
  source:
59
59
  type: git
60
60
  name: ruby/gem_rbs_collection
61
- revision: e9bc1bf94c262e79a2d599a9c173342915b29808
61
+ revision: 7651e7b92c15bd5b4bc11fd3dd455be0ea571fd0
62
62
  remote: https://github.com/ruby/gem_rbs_collection.git
63
63
  repo_dir: gems
64
64
  - name: bigdecimal
@@ -74,7 +74,7 @@ gems:
74
74
  source:
75
75
  type: git
76
76
  name: ruby/gem_rbs_collection
77
- revision: e9bc1bf94c262e79a2d599a9c173342915b29808
77
+ revision: 7651e7b92c15bd5b4bc11fd3dd455be0ea571fd0
78
78
  remote: https://github.com/ruby/gem_rbs_collection.git
79
79
  repo_dir: gems
80
80
  - name: connection_pool
@@ -82,14 +82,18 @@ gems:
82
82
  source:
83
83
  type: git
84
84
  name: ruby/gem_rbs_collection
85
- revision: e9bc1bf94c262e79a2d599a9c173342915b29808
85
+ revision: 7651e7b92c15bd5b4bc11fd3dd455be0ea571fd0
86
86
  remote: https://github.com/ruby/gem_rbs_collection.git
87
87
  repo_dir: gems
88
88
  - name: date
89
89
  version: '0'
90
90
  source:
91
91
  type: stdlib
92
- - name: dbm
92
+ - name: delegate
93
+ version: '0'
94
+ source:
95
+ type: stdlib
96
+ - name: digest
93
97
  version: '0'
94
98
  source:
95
99
  type: stdlib
@@ -106,7 +110,7 @@ gems:
106
110
  source:
107
111
  type: git
108
112
  name: ruby/gem_rbs_collection
109
- revision: e9bc1bf94c262e79a2d599a9c173342915b29808
113
+ revision: 7651e7b92c15bd5b4bc11fd3dd455be0ea571fd0
110
114
  remote: https://github.com/ruby/gem_rbs_collection.git
111
115
  repo_dir: gems
112
116
  - name: io-console
@@ -138,7 +142,7 @@ gems:
138
142
  source:
139
143
  type: git
140
144
  name: ruby/gem_rbs_collection
141
- revision: e9bc1bf94c262e79a2d599a9c173342915b29808
145
+ revision: 7651e7b92c15bd5b4bc11fd3dd455be0ea571fd0
142
146
  remote: https://github.com/ruby/gem_rbs_collection.git
143
147
  repo_dir: gems
144
148
  - name: openssl
@@ -154,7 +158,7 @@ gems:
154
158
  source:
155
159
  type: git
156
160
  name: ruby/gem_rbs_collection
157
- revision: e9bc1bf94c262e79a2d599a9c173342915b29808
161
+ revision: 7651e7b92c15bd5b4bc11fd3dd455be0ea571fd0
158
162
  remote: https://github.com/ruby/gem_rbs_collection.git
159
163
  repo_dir: gems
160
164
  - name: parser
@@ -162,27 +166,19 @@ gems:
162
166
  source:
163
167
  type: git
164
168
  name: ruby/gem_rbs_collection
165
- revision: e9bc1bf94c262e79a2d599a9c173342915b29808
169
+ revision: 7651e7b92c15bd5b4bc11fd3dd455be0ea571fd0
166
170
  remote: https://github.com/ruby/gem_rbs_collection.git
167
171
  repo_dir: gems
168
172
  - name: pathname
169
173
  version: '0'
170
174
  source:
171
175
  type: stdlib
172
- - name: pstore
173
- version: '0'
174
- source:
175
- type: stdlib
176
- - name: psych
177
- version: '0'
178
- source:
179
- type: stdlib
180
176
  - name: rack
181
177
  version: '2.2'
182
178
  source:
183
179
  type: git
184
180
  name: ruby/gem_rbs_collection
185
- revision: e9bc1bf94c262e79a2d599a9c173342915b29808
181
+ revision: 7651e7b92c15bd5b4bc11fd3dd455be0ea571fd0
186
182
  remote: https://github.com/ruby/gem_rbs_collection.git
187
183
  repo_dir: gems
188
184
  - name: rails-dom-testing
@@ -190,7 +186,15 @@ gems:
190
186
  source:
191
187
  type: git
192
188
  name: ruby/gem_rbs_collection
193
- revision: e9bc1bf94c262e79a2d599a9c173342915b29808
189
+ revision: 7651e7b92c15bd5b4bc11fd3dd455be0ea571fd0
190
+ remote: https://github.com/ruby/gem_rbs_collection.git
191
+ repo_dir: gems
192
+ - name: rails-html-sanitizer
193
+ version: '1.6'
194
+ source:
195
+ type: git
196
+ name: ruby/gem_rbs_collection
197
+ revision: 7651e7b92c15bd5b4bc11fd3dd455be0ea571fd0
194
198
  remote: https://github.com/ruby/gem_rbs_collection.git
195
199
  repo_dir: gems
196
200
  - name: railties
@@ -198,7 +202,7 @@ gems:
198
202
  source:
199
203
  type: git
200
204
  name: ruby/gem_rbs_collection
201
- revision: e9bc1bf94c262e79a2d599a9c173342915b29808
205
+ revision: 7651e7b92c15bd5b4bc11fd3dd455be0ea571fd0
202
206
  remote: https://github.com/ruby/gem_rbs_collection.git
203
207
  repo_dir: gems
204
208
  - name: rainbow
@@ -206,7 +210,7 @@ gems:
206
210
  source:
207
211
  type: git
208
212
  name: ruby/gem_rbs_collection
209
- revision: e9bc1bf94c262e79a2d599a9c173342915b29808
213
+ revision: 7651e7b92c15bd5b4bc11fd3dd455be0ea571fd0
210
214
  remote: https://github.com/ruby/gem_rbs_collection.git
211
215
  repo_dir: gems
212
216
  - name: rake
@@ -214,11 +218,11 @@ gems:
214
218
  source:
215
219
  type: git
216
220
  name: ruby/gem_rbs_collection
217
- revision: e9bc1bf94c262e79a2d599a9c173342915b29808
221
+ revision: 7651e7b92c15bd5b4bc11fd3dd455be0ea571fd0
218
222
  remote: https://github.com/ruby/gem_rbs_collection.git
219
223
  repo_dir: gems
220
224
  - name: rbs
221
- version: 3.5.2
225
+ version: 3.8.1
222
226
  source:
223
227
  type: rubygems
224
228
  - name: rdoc
@@ -230,7 +234,7 @@ gems:
230
234
  source:
231
235
  type: git
232
236
  name: ruby/gem_rbs_collection
233
- revision: e9bc1bf94c262e79a2d599a9c173342915b29808
237
+ revision: 7651e7b92c15bd5b4bc11fd3dd455be0ea571fd0
234
238
  remote: https://github.com/ruby/gem_rbs_collection.git
235
239
  repo_dir: gems
236
240
  - name: rubocop
@@ -238,7 +242,7 @@ gems:
238
242
  source:
239
243
  type: git
240
244
  name: ruby/gem_rbs_collection
241
- revision: e9bc1bf94c262e79a2d599a9c173342915b29808
245
+ revision: 7651e7b92c15bd5b4bc11fd3dd455be0ea571fd0
242
246
  remote: https://github.com/ruby/gem_rbs_collection.git
243
247
  repo_dir: gems
244
248
  - name: rubocop-ast
@@ -246,7 +250,7 @@ gems:
246
250
  source:
247
251
  type: git
248
252
  name: ruby/gem_rbs_collection
249
- revision: e9bc1bf94c262e79a2d599a9c173342915b29808
253
+ revision: 7651e7b92c15bd5b4bc11fd3dd455be0ea571fd0
250
254
  remote: https://github.com/ruby/gem_rbs_collection.git
251
255
  repo_dir: gems
252
256
  - name: securerandom
@@ -261,7 +265,15 @@ gems:
261
265
  version: '0'
262
266
  source:
263
267
  type: stdlib
264
- - name: strscan
268
+ - name: sqlite3
269
+ version: '2.0'
270
+ source:
271
+ type: git
272
+ name: ruby/gem_rbs_collection
273
+ revision: 7651e7b92c15bd5b4bc11fd3dd455be0ea571fd0
274
+ remote: https://github.com/ruby/gem_rbs_collection.git
275
+ repo_dir: gems
276
+ - name: stringio
265
277
  version: '0'
266
278
  source:
267
279
  type: stdlib
@@ -274,7 +286,7 @@ gems:
274
286
  source:
275
287
  type: git
276
288
  name: ruby/gem_rbs_collection
277
- revision: e9bc1bf94c262e79a2d599a9c173342915b29808
289
+ revision: 7651e7b92c15bd5b4bc11fd3dd455be0ea571fd0
278
290
  remote: https://github.com/ruby/gem_rbs_collection.git
279
291
  repo_dir: gems
280
292
  - name: time
@@ -294,7 +306,7 @@ gems:
294
306
  source:
295
307
  type: git
296
308
  name: ruby/gem_rbs_collection
297
- revision: e9bc1bf94c262e79a2d599a9c173342915b29808
309
+ revision: 7651e7b92c15bd5b4bc11fd3dd455be0ea571fd0
298
310
  remote: https://github.com/ruby/gem_rbs_collection.git
299
311
  repo_dir: gems
300
312
  - name: uri
@@ -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,30 +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
- @mixins: String
11
15
  @attributes: String
12
16
 
17
+ @mixins: String
18
+
19
+ @secure_password: String
20
+
21
+ # @rbs klass: Class
13
22
  def initialize: (Class klass) -> void
23
+
14
24
  def generate: () -> String?
15
25
 
16
26
  private
17
27
 
18
28
  attr_reader klass: Class
29
+
19
30
  attr_reader klass_name: String
20
31
 
32
+ # @rbs rbs: String
21
33
  def format: (String rbs) -> String
34
+
22
35
  def header: () -> String
36
+
23
37
  def secure_password: () -> String
38
+
24
39
  def mixins: () -> String
40
+
25
41
  def attributes: () -> String
26
- def footer: () -> String
42
+
43
+ # @rbs name: String
44
+ def having_default?: (String name) -> bool
45
+
46
+ # @rbs name: String
27
47
  def required_attribute?: (String name) -> bool
48
+
49
+ def footer: () -> String
28
50
  end
29
51
  end
30
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
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rbs_activemodel
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Takeshi KOMIYA
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-09-09 00:00:00.000000000 Z
11
+ date: 2025-01-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: '7.1'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: '7.1'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: activerecord
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -102,9 +102,11 @@ files:
102
102
  - lib/rbs_activemodel/version.rb
103
103
  - rbs_collection.lock.yaml
104
104
  - rbs_collection.yaml
105
+ - sig/generators/rbs_activemodel/install_generator.rbs
105
106
  - sig/rbs_activemodel.rbs
106
107
  - sig/rbs_activemodel/active_model.rbs
107
108
  - sig/rbs_activemodel/rake_task.rbs
109
+ - sig/rbs_activemodel/version.rbs
108
110
  homepage: https://github.com/tk0miya/rbs_activemodel
109
111
  licenses:
110
112
  - MIT
@@ -112,7 +114,7 @@ metadata:
112
114
  homepage_uri: https://github.com/tk0miya/rbs_activemodel
113
115
  source_code_uri: https://github.com/tk0miya/rbs_activemodel
114
116
  changelog_uri: https://github.com/tk0miya/rbs_activemodel
115
- post_install_message:
117
+ post_install_message:
116
118
  rdoc_options: []
117
119
  require_paths:
118
120
  - lib
@@ -127,8 +129,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
127
129
  - !ruby/object:Gem::Version
128
130
  version: '0'
129
131
  requirements: []
130
- rubygems_version: 3.5.16
131
- signing_key:
132
+ rubygems_version: 3.5.22
133
+ signing_key:
132
134
  specification_version: 4
133
135
  summary: A RBS files generator for activemodel gem
134
136
  test_files: []