rbs_activerecord 1.1.3 → 1.2.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 360079f3b724dfbd462397ed0b1143c80a80269176d4cf61485ac5fc71cfd1c4
4
- data.tar.gz: 7d847840f3086d25d4aca0e0dac0801d2ae5e40cbb84b7625c17d668236da823
3
+ metadata.gz: a901f8b1ee98a3837e7ee4182ffb3d247466793f367ac6b764487271f2088445
4
+ data.tar.gz: 749b7ec1f3dc34235087df037f7f94418e09729cff3229717e1620a08d6abbaa
5
5
  SHA512:
6
- metadata.gz: 7d715eb69739edbc2102cdbaedc4e34b7164fc4a3445641c4ca72050e9b8c47db7ede124156f4c777728e6bca52be61e0e41f896770c0f2a2e9b3fb099cd131a
7
- data.tar.gz: 518abeac5686ce46e0a8faac94249b4723111a2008e642645c0cef0869b451317c29d69aa61cb5542f673b52ca3baf340a49341ee50cb0b1dce703a3f27f49e3
6
+ metadata.gz: 6c5e46b70af5fb36fbfacf1beea9f949ad18b31a78ca13bfe37578f0fb8d4c5c88738bbc9039f09adde10ce49dc7f43a49d60664ac9130f4614178a8781259bf
7
+ data.tar.gz: 16cdca38fc3d9d72ba97ab9c076996aea8c58864bdcb41476a0bf8d9f86123a1042fe305a4e3ff77022ad86febeba50c6d7c632fc2bf8f3512af8b9cd58c4858
@@ -28,22 +28,22 @@ module RbsActiverecord
28
28
  def has_many #: String # rubocop:disable Naming/PredicateName
29
29
  model.reflect_on_all_associations(:has_many).map do |assoc|
30
30
  assoc_name = assoc.name.to_s
31
- klass_name = assoc.klass.name
31
+ klass_name = "::#{assoc.klass.name}"
32
32
  collection = "#{klass_name}::ActiveRecord_Associations_CollectionProxy"
33
33
  primary_key_type = primary_key_type_for(assoc.klass)
34
34
 
35
35
  <<~RBS
36
36
  def #{assoc_name}: () -> #{collection}
37
- def #{assoc_name}=: (#{collection} | Array[::#{klass_name}]) -> (#{collection} | Array[::#{klass_name}])
38
- def #{assoc_name.singularize}_ids: () -> Array[#{primary_key_type}]
39
- def #{assoc_name.singularize}_ids=: (Array[#{primary_key_type}]) -> Array[#{primary_key_type}]
37
+ def #{assoc_name}=: (#{collection} | ::Array[#{klass_name}]) -> (#{collection} | ::Array[#{klass_name}])
38
+ def #{assoc_name.singularize}_ids: () -> ::Array[#{primary_key_type}]
39
+ def #{assoc_name.singularize}_ids=: (::Array[#{primary_key_type}]) -> ::Array[#{primary_key_type}]
40
40
  RBS
41
41
  end.join("\n")
42
42
  end
43
43
 
44
44
  def has_one #: String # rubocop:disable Naming/PredicateName
45
45
  model.reflect_on_all_associations(:has_one).map do |assoc|
46
- type = assoc.klass.name
46
+ type = "::#{assoc.klass.name}"
47
47
  optional = "#{type}?"
48
48
 
49
49
  <<~RBS
@@ -63,7 +63,7 @@ module RbsActiverecord
63
63
  def belongs_to #: String # rubocop:disable Metrics/AbcSize
64
64
  model.reflect_on_all_associations(:belongs_to).map do |assoc|
65
65
  is_optional = assoc.options[:optional]
66
- type = assoc.polymorphic? ? polymorphic_owner_types(assoc) : assoc.klass.name
66
+ type = assoc.polymorphic? ? polymorphic_owner_types(assoc) : "::#{assoc.klass.name}"
67
67
  optional = "#{type}?"
68
68
 
69
69
  # @type var methods: Array[String]
@@ -31,21 +31,21 @@ module RbsActiverecord
31
31
  end
32
32
 
33
33
  # @rbs node: Prism::CallNode
34
- def delegated_type(node) #: String
34
+ def delegated_type(node) #: String # rubocop:disable Metrics/AbcSize
35
35
  arguments = node.arguments&.arguments || []
36
36
  name, options = arguments.map { |arg| Parser.eval_node(arg) } #: [String?, Hash[Symbol, untyped]]
37
37
  return "" unless name
38
38
 
39
39
  types = options[:types]
40
40
  role_methods = <<~RBS
41
- def #{name}_class: () -> (#{types.join(" | ")})
42
- def #{name}_name: () -> String
41
+ def #{name}_class: () -> (#{types.map { |type| "::#{type}" }.join(" | ")})
42
+ def #{name}_name: () -> ::String
43
43
  RBS
44
44
 
45
45
  type_methods = types.map do |type|
46
46
  <<~RBS
47
47
  def #{type.underscore}?: () -> bool
48
- def #{type.underscore}: () -> #{type}?
48
+ def #{type.underscore}: () -> ::#{type}?
49
49
  def #{type.underscore}_id: () -> #{primary_key_type_for(type)}?
50
50
  RBS
51
51
  end.join("\n")
@@ -41,8 +41,8 @@ module RbsActiverecord
41
41
 
42
42
  type = column_type(name)
43
43
  name_methods = <<~RBS
44
- def #{name}: () -> String
45
- def #{name}=: (String) -> String
44
+ def #{name}: () -> ::String
45
+ def #{name}=: (::String) -> ::String
46
46
  | (#{type}) -> #{type}
47
47
  RBS
48
48
  value_methods = values.map do |value|
@@ -36,7 +36,7 @@ module RbsActiverecord
36
36
 
37
37
  return "" unless name
38
38
 
39
- "def #{name.to_s.pluralize}: () -> ActiveSupport::HashWithIndifferentAccess[Symbol, untyped]"
39
+ "def #{name.to_s.pluralize}: () -> ::ActiveSupport::HashWithIndifferentAccess[Symbol, untyped]"
40
40
  end
41
41
  end
42
42
  end
@@ -23,13 +23,13 @@ module RbsActiverecord
23
23
  def methods #: String
24
24
  secure_password_attributes.map do |name|
25
25
  <<~RBS
26
- attr_reader #{name}: String?
27
- attr_accessor #{name}_confirmation: String
28
- attr_accessor #{name}_challenge: String
26
+ attr_reader #{name}: ::String?
27
+ attr_accessor #{name}_confirmation: ::String
28
+ attr_accessor #{name}_challenge: ::String
29
29
 
30
- def #{name}=: (String) -> String
31
- def #{name}_salt: () -> String
32
- def authenticate_#{name}: (String) -> (instance | false)
30
+ def #{name}=: (::String) -> ::String
31
+ def #{name}_salt: () -> ::String
32
+ def authenticate_#{name}: (::String) -> (instance | false)
33
33
 
34
34
  #{"alias authenticate authenticate_password" if name == "password"}
35
35
  RBS
@@ -19,6 +19,8 @@ module RbsActiverecord
19
19
 
20
20
  def generate #: String # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
21
21
  format <<~RBS
22
+ # resolve-type-names: false
23
+
22
24
  #{header}
23
25
  #{Attributes.new(model).generate}
24
26
  #{Associations.new(model).generate}
@@ -36,46 +38,46 @@ module RbsActiverecord
36
38
  #{Scopes.new(model, declarations).generate}
37
39
 
38
40
  module GeneratedCollectionProxyInstanceMethods[Model, PrimaryKey]
39
- def build: (?ActiveRecord::Associations::CollectionProxy::_EachPair attributes) ?{ () -> untyped } -> Model
40
- | (Array[ActiveRecord::Associations::CollectionProxy::_EachPair] attributes) ?{ () -> untyped } -> Array[Model]
41
- def create: (?ActiveRecord::Associations::CollectionProxy::_EachPair attributes) ?{ () -> untyped } -> Model
42
- | (Array[ActiveRecord::Associations::CollectionProxy::_EachPair] attributes) ?{ () -> untyped } -> Array[Model]
43
- def create!: (?ActiveRecord::Associations::CollectionProxy::_EachPair attributes) ?{ () -> untyped } -> Model
44
- | (Array[ActiveRecord::Associations::CollectionProxy::_EachPair] attributes) ?{ () -> untyped } -> Array[Model]
45
- def reload: () -> Array[Model]
46
- def replace: (Array[Model]) -> void
47
- def delete: (*Model | PrimaryKey) -> Array[Model]
48
- def destroy: (*Model | PrimaryKey) -> Array[Model]
49
- def <<: (*Model | Array[Model]) -> self
50
- def prepend: (*Model | Array[Model]) -> self
41
+ def build: (?::ActiveRecord::Associations::CollectionProxy::_EachPair attributes) ?{ () -> untyped } -> Model
42
+ | (::Array[::ActiveRecord::Associations::CollectionProxy::_EachPair] attributes) ?{ () -> untyped } -> ::Array[Model]
43
+ def create: (?::ActiveRecord::Associations::CollectionProxy::_EachPair attributes) ?{ () -> untyped } -> Model
44
+ | (::Array[::ActiveRecord::Associations::CollectionProxy::_EachPair] attributes) ?{ () -> untyped } -> ::Array[Model]
45
+ def create!: (?::ActiveRecord::Associations::CollectionProxy::_EachPair attributes) ?{ () -> untyped } -> Model
46
+ | (::Array[::ActiveRecord::Associations::CollectionProxy::_EachPair] attributes) ?{ () -> untyped } -> ::Array[Model]
47
+ def reload: () -> ::Array[Model]
48
+ def replace: (::Array[Model]) -> void
49
+ def delete: (*Model | PrimaryKey) -> ::Array[Model]
50
+ def destroy: (*Model | PrimaryKey) -> ::Array[Model]
51
+ def <<: (*Model | ::Array[Model]) -> self
52
+ def prepend: (*Model | ::Array[Model]) -> self
51
53
  end
52
54
 
53
55
  class ActiveRecord_Relation < ::ActiveRecord::Relation
54
- include ::Enumerable[#{klass_name}]
55
- include ::ActiveRecord::Relation::Methods[#{klass_name}, #{primary_key_type}]
56
+ include ::Enumerable[::#{klass_name}]
57
+ include ::ActiveRecord::Relation::Methods[::#{klass_name}, #{primary_key_type}]
56
58
  #{relation_methods}
57
- include GeneratedPluckOverloads
59
+ include ::#{klass_name}::GeneratedPluckOverloads
58
60
  end
59
61
 
60
62
  class ActiveRecord_Associations_CollectionProxy < ::ActiveRecord::Associations::CollectionProxy
61
- include ::Enumerable[#{klass_name}]
62
- include ::ActiveRecord::Relation::Methods[#{klass_name}, #{primary_key_type}]
63
+ include ::Enumerable[::#{klass_name}]
64
+ include ::ActiveRecord::Relation::Methods[::#{klass_name}, #{primary_key_type}]
63
65
  #{relation_methods}
64
- include GeneratedPluckOverloads
65
- include GeneratedCollectionProxyInstanceMethods[#{klass_name}, #{primary_key_type}]
66
+ include ::#{klass_name}::GeneratedPluckOverloads
67
+ include ::#{klass_name}::GeneratedCollectionProxyInstanceMethods[::#{klass_name}, #{primary_key_type}]
66
68
  end
67
69
 
68
- extend ::ActiveRecord::Base::ClassMethods[#{klass_name}, #{klass_name}::ActiveRecord_Relation, #{primary_key_type}]
70
+ extend ::ActiveRecord::Base::ClassMethods[::#{klass_name}, ::#{klass_name}::ActiveRecord_Relation, #{primary_key_type}]
69
71
  #{scope_class_methods}
70
- extend GeneratedEnumMappingMethods
71
- extend GeneratedPluckOverloads
72
-
73
- include GeneratedActiveStorageInstanceMethods
74
- include GeneratedAttributeMethods
75
- include GeneratedAssociationMethods
76
- include GeneratedDelegatedTypeInstanceMethods
77
- include GeneratedEnumInstanceMethods
78
- include GeneratedSecurePasswordMethods
72
+ extend ::#{klass_name}::GeneratedEnumMappingMethods
73
+ extend ::#{klass_name}::GeneratedPluckOverloads
74
+
75
+ include ::#{klass_name}::GeneratedActiveStorageInstanceMethods
76
+ include ::#{klass_name}::GeneratedAttributeMethods
77
+ include ::#{klass_name}::GeneratedAssociationMethods
78
+ include ::#{klass_name}::GeneratedDelegatedTypeInstanceMethods
79
+ include ::#{klass_name}::GeneratedEnumInstanceMethods
80
+ include ::#{klass_name}::GeneratedSecurePasswordMethods
79
81
  #{footer}
80
82
  RBS
81
83
  end
@@ -102,18 +104,16 @@ module RbsActiverecord
102
104
  end
103
105
 
104
106
  def header #: String
105
- namespace = +""
106
- klass_name.split("::").map do |mod_name|
107
- namespace += "::#{mod_name}"
108
- mod_object = Object.const_get(namespace)
107
+ klass_to_names(klass).map do |name|
108
+ mod_object = Object.const_get(name.to_s)
109
109
  case mod_object
110
110
  when Class
111
111
  superclass = mod_object.superclass
112
- superclass_name = superclass&.name || "Object"
112
+ superclass_name = superclass&.name || "::Object"
113
113
 
114
- "class #{mod_name} < ::#{superclass_name}"
114
+ "class #{name} < ::#{superclass_name}"
115
115
  when Module
116
- "module #{mod_name}"
116
+ "module #{name}"
117
117
  else
118
118
  raise "unreachable"
119
119
  end
@@ -124,37 +124,37 @@ module RbsActiverecord
124
124
  "end\n" * klass.module_parents.size
125
125
  end
126
126
 
127
- def relation_methods #: String
127
+ def relation_methods #: String # rubocop:disable Metrics/AbcSize
128
128
  methods = <<~RBS
129
- include GeneratedActiveStorageScopeMethods[ActiveRecord_Relation]
130
- include GeneratedDelegatedTypeScopeMethods[ActiveRecord_Relation]
131
- include GeneratedEnumScopeMethods[ActiveRecord_Relation]
132
- include GeneratedScopeMethods[ActiveRecord_Relation]
129
+ include ::#{klass_name}::GeneratedActiveStorageScopeMethods[::#{klass_name}::ActiveRecord_Relation]
130
+ include ::#{klass_name}::GeneratedDelegatedTypeScopeMethods[::#{klass_name}::ActiveRecord_Relation]
131
+ include ::#{klass_name}::GeneratedEnumScopeMethods[::#{klass_name}::ActiveRecord_Relation]
132
+ include ::#{klass_name}::GeneratedScopeMethods[::#{klass_name}::ActiveRecord_Relation]
133
133
  RBS
134
134
  model.parents.each do |cls|
135
135
  methods += <<~RBS.strip
136
- include ::#{cls.name}::GeneratedActiveStorageScopeMethods[ActiveRecord_Relation]
137
- include ::#{cls.name}::GeneratedDelegatedTypeScopeMethods[ActiveRecord_Relation]
138
- include ::#{cls.name}::GeneratedEnumScopeMethods[ActiveRecord_Relation]
139
- include ::#{cls.name}::GeneratedScopeMethods[ActiveRecord_Relation]
136
+ include ::#{cls.name}::GeneratedActiveStorageScopeMethods[::#{klass_name}::ActiveRecord_Relation]
137
+ include ::#{cls.name}::GeneratedDelegatedTypeScopeMethods[::#{klass_name}::ActiveRecord_Relation]
138
+ include ::#{cls.name}::GeneratedEnumScopeMethods[::#{klass_name}::ActiveRecord_Relation]
139
+ include ::#{cls.name}::GeneratedScopeMethods[::#{klass_name}::ActiveRecord_Relation]
140
140
  RBS
141
141
  end
142
142
  methods
143
143
  end
144
144
 
145
- def scope_class_methods #: String
145
+ def scope_class_methods #: String # rubocop:disable Metrics/AbcSize
146
146
  methods = <<~RBS
147
- extend GeneratedActiveStorageScopeMethods[ActiveRecord_Relation]
148
- extend GeneratedDelegatedTypeScopeMethods[ActiveRecord_Relation]
149
- extend GeneratedEnumScopeMethods[ActiveRecord_Relation]
150
- extend GeneratedScopeMethods[ActiveRecord_Relation]
147
+ extend ::#{klass_name}::GeneratedActiveStorageScopeMethods[::#{klass_name}::ActiveRecord_Relation]
148
+ extend ::#{klass_name}::GeneratedDelegatedTypeScopeMethods[::#{klass_name}::ActiveRecord_Relation]
149
+ extend ::#{klass_name}::GeneratedEnumScopeMethods[::#{klass_name}::ActiveRecord_Relation]
150
+ extend ::#{klass_name}::GeneratedScopeMethods[::#{klass_name}::ActiveRecord_Relation]
151
151
  RBS
152
152
  model.parents.each do |cls|
153
153
  methods += <<~RBS.strip
154
- extend ::#{cls.name}::GeneratedActiveStorageScopeMethods[ActiveRecord_Relation]
155
- extend ::#{cls.name}::GeneratedDelegatedTypeScopeMethods[ActiveRecord_Relation]
156
- extend ::#{cls.name}::GeneratedEnumScopeMethods[ActiveRecord_Relation]
157
- extend ::#{cls.name}::GeneratedScopeMethods[ActiveRecord_Relation]
154
+ extend ::#{cls.name}::GeneratedActiveStorageScopeMethods[::#{klass_name}::ActiveRecord_Relation]
155
+ extend ::#{cls.name}::GeneratedDelegatedTypeScopeMethods[::#{klass_name}::ActiveRecord_Relation]
156
+ extend ::#{cls.name}::GeneratedEnumScopeMethods[::#{klass_name}::ActiveRecord_Relation]
157
+ extend ::#{cls.name}::GeneratedScopeMethods[::#{klass_name}::ActiveRecord_Relation]
158
158
  RBS
159
159
  end
160
160
  methods
@@ -12,6 +12,19 @@ module RbsActiverecord
12
12
  end.string
13
13
  end
14
14
 
15
+ # @rbs klass_name: singleton(Object)
16
+ def klass_to_names(klass) #: Array[RBS::TypeName]
17
+ type_name = RBS::TypeName.parse("::#{klass.name}")
18
+
19
+ names = [type_name] #: Array[RBS::TypeName]
20
+ namespace = type_name.namespace
21
+ until namespace.empty?
22
+ names << namespace.to_type_name
23
+ namespace = namespace.parent
24
+ end
25
+ names.reverse
26
+ end
27
+
15
28
  # @rbs klass: singleton(ActiveRecord::Base)
16
29
  def primary_key_type_for(klass) #: String # rubocop:disable Metrics/AbcSize
17
30
  case klass.primary_key
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RbsActiverecord
4
- VERSION = "1.1.3"
4
+ VERSION = "1.2.1"
5
5
  end
@@ -6,7 +6,7 @@ gems:
6
6
  source:
7
7
  type: git
8
8
  name: ruby/gem_rbs_collection
9
- revision: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
9
+ revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
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: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
17
+ revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
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: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
25
+ revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
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: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
33
+ revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
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: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
41
+ revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
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: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
49
+ revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
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: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
57
+ revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
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: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
65
+ revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
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: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
73
+ revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
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: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
81
+ revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
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: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
93
+ revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
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: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
105
+ revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
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: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
113
+ revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
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: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
145
+ revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
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: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
153
+ revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
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: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
173
+ revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
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: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
193
+ revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
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: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
209
+ revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
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: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
217
+ revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
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: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
233
+ revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
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: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
241
+ revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
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: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
249
+ revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
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: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
257
+ revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
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: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
265
+ revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
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: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
273
+ revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
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: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
289
+ revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
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: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
297
+ revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
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: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
305
+ revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
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: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
325
+ revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
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: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
341
+ revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
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: 95d9b83e2727af43d6dea2ffb9e9d2d350425fe9
361
+ revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
362
362
  remote: https://github.com/ruby/gem_rbs_collection.git
363
363
  repo_dir: gems
364
364
  - name: uri
@@ -5,6 +5,9 @@ module RbsActiverecord
5
5
  # @rbs str: String
6
6
  def format: (String str) -> String
7
7
 
8
+ # @rbs klass_name: singleton(Object)
9
+ def klass_to_names: (untyped klass) -> Array[RBS::TypeName]
10
+
8
11
  # @rbs klass: singleton(ActiveRecord::Base)
9
12
  def primary_key_type_for: (singleton(ActiveRecord::Base) klass) -> String
10
13
 
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.3
4
+ version: 1.2.1
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-03-04 00:00:00.000000000 Z
11
+ date: 2025-03-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord