rbs_activerecord 1.1.2 → 1.2.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: d4ad6fbea812a56e76da7f762c9627daafa7cffc61a3f9d15f93a979a2c367b6
4
- data.tar.gz: 4e7987443636d465a0b804cb772a50023a799b28cd51f0a3a55dd932e4818ab8
3
+ metadata.gz: 397257103afe51d40128bfb8f976d1bc96b1b4df91de064c1f1940a3195ce1a7
4
+ data.tar.gz: 7eedb8e58bfefd4656b5db3e7984302c17700273a7940f983f192b6d67228fc6
5
5
  SHA512:
6
- metadata.gz: 7a1c947366f0227772a72ca3f2c055749da924e2bac93a5c0743b41b194bf01c910d5a79ecaeb113053fac3f277f40d74bbe88632b3bbf8f02912fbe7beced98
7
- data.tar.gz: 8b0c2312135d3ab36db23f7b4379289db1da865a2daade66f281bbe752fee675226d88334f843b631207727438137a2d40128dd65e2ca3344b0c565a7e8f047d
6
+ metadata.gz: adec3dbd91ba511e153abf4f86c289b1bc0aa6299b349aa15c1b19cc525f6995942c2bdda8fc8242041c0d679650216fd312c04fef9db0c0a501b9dcac2e6c96
7
+ data.tar.gz: 7a831de86c022d232d736107ba5e3561e4a5a9dbc8cbd65e5e0f8bc080ad5a5f504edd6fa8e63c860a066552e2f962e576f927a0e7f88828e4659961d59c54df
@@ -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")
@@ -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
- def #{name}: () -> String
42
- def #{name}=: (String) -> String
43
- | (Integer) -> Integer
44
+ def #{name}: () -> ::String
45
+ def #{name}=: (::String) -> ::String
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
@@ -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
@@ -109,7 +111,7 @@ module RbsActiverecord
109
111
  case mod_object
110
112
  when Class
111
113
  superclass = mod_object.superclass
112
- superclass_name = superclass&.name || "Object"
114
+ superclass_name = superclass&.name || "::Object"
113
115
 
114
116
  "class #{mod_name} < ::#{superclass_name}"
115
117
  when Module
@@ -124,37 +126,37 @@ module RbsActiverecord
124
126
  "end\n" * klass.module_parents.size
125
127
  end
126
128
 
127
- def relation_methods #: String
129
+ def relation_methods #: String # rubocop:disable Metrics/AbcSize
128
130
  methods = <<~RBS
129
- include GeneratedActiveStorageScopeMethods[ActiveRecord_Relation]
130
- include GeneratedDelegatedTypeScopeMethods[ActiveRecord_Relation]
131
- include GeneratedEnumScopeMethods[ActiveRecord_Relation]
132
- include GeneratedScopeMethods[ActiveRecord_Relation]
131
+ include ::#{klass_name}::GeneratedActiveStorageScopeMethods[::#{klass_name}::ActiveRecord_Relation]
132
+ include ::#{klass_name}::GeneratedDelegatedTypeScopeMethods[::#{klass_name}::ActiveRecord_Relation]
133
+ include ::#{klass_name}::GeneratedEnumScopeMethods[::#{klass_name}::ActiveRecord_Relation]
134
+ include ::#{klass_name}::GeneratedScopeMethods[::#{klass_name}::ActiveRecord_Relation]
133
135
  RBS
134
136
  model.parents.each do |cls|
135
137
  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]
138
+ include ::#{cls.name}::GeneratedActiveStorageScopeMethods[::#{klass_name}::ActiveRecord_Relation]
139
+ include ::#{cls.name}::GeneratedDelegatedTypeScopeMethods[::#{klass_name}::ActiveRecord_Relation]
140
+ include ::#{cls.name}::GeneratedEnumScopeMethods[::#{klass_name}::ActiveRecord_Relation]
141
+ include ::#{cls.name}::GeneratedScopeMethods[::#{klass_name}::ActiveRecord_Relation]
140
142
  RBS
141
143
  end
142
144
  methods
143
145
  end
144
146
 
145
- def scope_class_methods #: String
147
+ def scope_class_methods #: String # rubocop:disable Metrics/AbcSize
146
148
  methods = <<~RBS
147
- extend GeneratedActiveStorageScopeMethods[ActiveRecord_Relation]
148
- extend GeneratedDelegatedTypeScopeMethods[ActiveRecord_Relation]
149
- extend GeneratedEnumScopeMethods[ActiveRecord_Relation]
150
- extend GeneratedScopeMethods[ActiveRecord_Relation]
149
+ extend ::#{klass_name}::GeneratedActiveStorageScopeMethods[::#{klass_name}::ActiveRecord_Relation]
150
+ extend ::#{klass_name}::GeneratedDelegatedTypeScopeMethods[::#{klass_name}::ActiveRecord_Relation]
151
+ extend ::#{klass_name}::GeneratedEnumScopeMethods[::#{klass_name}::ActiveRecord_Relation]
152
+ extend ::#{klass_name}::GeneratedScopeMethods[::#{klass_name}::ActiveRecord_Relation]
151
153
  RBS
152
154
  model.parents.each do |cls|
153
155
  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]
156
+ extend ::#{cls.name}::GeneratedActiveStorageScopeMethods[::#{klass_name}::ActiveRecord_Relation]
157
+ extend ::#{cls.name}::GeneratedDelegatedTypeScopeMethods[::#{klass_name}::ActiveRecord_Relation]
158
+ extend ::#{cls.name}::GeneratedEnumScopeMethods[::#{klass_name}::ActiveRecord_Relation]
159
+ extend ::#{cls.name}::GeneratedScopeMethods[::#{klass_name}::ActiveRecord_Relation]
158
160
  RBS
159
161
  end
160
162
  methods
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RbsActiverecord
4
- VERSION = "1.1.2"
4
+ VERSION = "1.2.0"
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: 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: 27243a7d18fd7f7333b9daa35eeca2c37472586e
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: 27243a7d18fd7f7333b9daa35eeca2c37472586e
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: 27243a7d18fd7f7333b9daa35eeca2c37472586e
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: 27243a7d18fd7f7333b9daa35eeca2c37472586e
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: 27243a7d18fd7f7333b9daa35eeca2c37472586e
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: 27243a7d18fd7f7333b9daa35eeca2c37472586e
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: 27243a7d18fd7f7333b9daa35eeca2c37472586e
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: 27243a7d18fd7f7333b9daa35eeca2c37472586e
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: 27243a7d18fd7f7333b9daa35eeca2c37472586e
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: 27243a7d18fd7f7333b9daa35eeca2c37472586e
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: 27243a7d18fd7f7333b9daa35eeca2c37472586e
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: 27243a7d18fd7f7333b9daa35eeca2c37472586e
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: 27243a7d18fd7f7333b9daa35eeca2c37472586e
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: 27243a7d18fd7f7333b9daa35eeca2c37472586e
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: 27243a7d18fd7f7333b9daa35eeca2c37472586e
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: 27243a7d18fd7f7333b9daa35eeca2c37472586e
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: 27243a7d18fd7f7333b9daa35eeca2c37472586e
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: 27243a7d18fd7f7333b9daa35eeca2c37472586e
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: 27243a7d18fd7f7333b9daa35eeca2c37472586e
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: 27243a7d18fd7f7333b9daa35eeca2c37472586e
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: 27243a7d18fd7f7333b9daa35eeca2c37472586e
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: 27243a7d18fd7f7333b9daa35eeca2c37472586e
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: 27243a7d18fd7f7333b9daa35eeca2c37472586e
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: 27243a7d18fd7f7333b9daa35eeca2c37472586e
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: 27243a7d18fd7f7333b9daa35eeca2c37472586e
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: 27243a7d18fd7f7333b9daa35eeca2c37472586e
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: 27243a7d18fd7f7333b9daa35eeca2c37472586e
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: 27243a7d18fd7f7333b9daa35eeca2c37472586e
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: 27243a7d18fd7f7333b9daa35eeca2c37472586e
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: 27243a7d18fd7f7333b9daa35eeca2c37472586e
361
+ revision: f720796536d6ecc9450fb43cdfc5b894a5e80ffd
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.2.0
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-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord