Skip to content
This repository was archived by the owner on Jul 5, 2023. It is now read-only.

Commit 3ada005

Browse files
author
Harry Doan
authored
change in_batches to return BatchEnumerator object (#332)
1 parent 2e60f5a commit 3ada005

File tree

78 files changed

+151
-151
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

78 files changed

+151
-151
lines changed

lib/sorbet-rails/model_plugins/active_record_querying.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ def create_in_batches_method(root, inner_type:)
7474
Parameter.new("error_on_ignore:", type: "T.nilable(T::Boolean)", default: "nil"),
7575
Parameter.new("&block", type: "T.nilable(T.proc.params(e: #{inner_type}).void)"),
7676
],
77-
return_type: "T::Enumerable[#{inner_type}]",
77+
return_type: "ActiveRecord::Batches::BatchEnumerator",
7878
)
7979
end
80-
end
80+
end

spec/generators/sorbet_test_cases.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@
6464
Wizard.find_in_batches { |w| T.assert_type!(w, T::Array[Wizard]) }
6565
T.assert_type!(Wizard.find_in_batches, T::Enumerator[T::Array[Wizard]])
6666
Wizard.in_batches { |w| T.assert_type!(w, Wizard::ActiveRecord_Relation) }
67-
T.assert_type!(Wizard.in_batches, T::Enumerable[Wizard::ActiveRecord_Relation])
67+
T.assert_type!(Wizard.in_batches, ActiveRecord::Batches::BatchEnumerator)
6868
# T.assert_type!(Wizard.destroy_all, T::Array[Wizard]) # Ignored until we add support
6969
T.assert_type!(Wizard.any?, T::Boolean)
7070
T.assert_type!(Wizard.many?, T::Boolean)

spec/support/v5.0/sorbet_test_cases.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@
6464
Wizard.find_in_batches { |w| T.assert_type!(w, T::Array[Wizard]) }
6565
T.assert_type!(Wizard.find_in_batches, T::Enumerator[T::Array[Wizard]])
6666
Wizard.in_batches { |w| T.assert_type!(w, Wizard::ActiveRecord_Relation) }
67-
T.assert_type!(Wizard.in_batches, T::Enumerable[Wizard::ActiveRecord_Relation])
67+
T.assert_type!(Wizard.in_batches, ActiveRecord::Batches::BatchEnumerator)
6868
# T.assert_type!(Wizard.destroy_all, T::Array[Wizard]) # Ignored until we add support
6969
T.assert_type!(Wizard.any?, T::Boolean)
7070
T.assert_type!(Wizard.many?, T::Boolean)

spec/support/v5.1/sorbet_test_cases.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@
6464
Wizard.find_in_batches { |w| T.assert_type!(w, T::Array[Wizard]) }
6565
T.assert_type!(Wizard.find_in_batches, T::Enumerator[T::Array[Wizard]])
6666
Wizard.in_batches { |w| T.assert_type!(w, Wizard::ActiveRecord_Relation) }
67-
T.assert_type!(Wizard.in_batches, T::Enumerable[Wizard::ActiveRecord_Relation])
67+
T.assert_type!(Wizard.in_batches, ActiveRecord::Batches::BatchEnumerator)
6868
# T.assert_type!(Wizard.destroy_all, T::Array[Wizard]) # Ignored until we add support
6969
T.assert_type!(Wizard.any?, T::Boolean)
7070
T.assert_type!(Wizard.many?, T::Boolean)

spec/support/v5.2/sorbet_test_cases.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@
6464
Wizard.find_in_batches { |w| T.assert_type!(w, T::Array[Wizard]) }
6565
T.assert_type!(Wizard.find_in_batches, T::Enumerator[T::Array[Wizard]])
6666
Wizard.in_batches { |w| T.assert_type!(w, Wizard::ActiveRecord_Relation) }
67-
T.assert_type!(Wizard.in_batches, T::Enumerable[Wizard::ActiveRecord_Relation])
67+
T.assert_type!(Wizard.in_batches, ActiveRecord::Batches::BatchEnumerator)
6868
# T.assert_type!(Wizard.destroy_all, T::Array[Wizard]) # Ignored until we add support
6969
T.assert_type!(Wizard.any?, T::Boolean)
7070
T.assert_type!(Wizard.many?, T::Boolean)

spec/support/v6.0/sorbet_test_cases.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@
6464
Wizard.find_in_batches { |w| T.assert_type!(w, T::Array[Wizard]) }
6565
T.assert_type!(Wizard.find_in_batches, T::Enumerator[T::Array[Wizard]])
6666
Wizard.in_batches { |w| T.assert_type!(w, Wizard::ActiveRecord_Relation) }
67-
T.assert_type!(Wizard.in_batches, T::Enumerable[Wizard::ActiveRecord_Relation])
67+
T.assert_type!(Wizard.in_batches, ActiveRecord::Batches::BatchEnumerator)
6868
# T.assert_type!(Wizard.destroy_all, T::Array[Wizard]) # Ignored until we add support
6969
T.assert_type!(Wizard.any?, T::Boolean)
7070
T.assert_type!(Wizard.many?, T::Boolean)

spec/test_data/v5.0/expected_headmaster.rbi

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ module Headmaster::QueryMethodsReturningRelation
168168
load: T.nilable(T::Boolean),
169169
error_on_ignore: T.nilable(T::Boolean),
170170
block: T.nilable(T.proc.params(e: Headmaster::ActiveRecord_Relation).void)
171-
).returns(T::Enumerable[Headmaster::ActiveRecord_Relation])
171+
).returns(ActiveRecord::Batches::BatchEnumerator)
172172
end
173173
def in_batches(of: 1000, start: nil, finish: nil, load: false, error_on_ignore: nil, &block); end
174174
end
@@ -266,7 +266,7 @@ module Headmaster::QueryMethodsReturningAssociationRelation
266266
load: T.nilable(T::Boolean),
267267
error_on_ignore: T.nilable(T::Boolean),
268268
block: T.nilable(T.proc.params(e: Headmaster::ActiveRecord_AssociationRelation).void)
269-
).returns(T::Enumerable[Headmaster::ActiveRecord_AssociationRelation])
269+
).returns(ActiveRecord::Batches::BatchEnumerator)
270270
end
271271
def in_batches(of: 1000, start: nil, finish: nil, load: false, error_on_ignore: nil, &block); end
272272
end

spec/test_data/v5.0/expected_internal_metadata.rbi

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ module ActiveRecord::InternalMetadata::QueryMethodsReturningRelation
162162
load: T.nilable(T::Boolean),
163163
error_on_ignore: T.nilable(T::Boolean),
164164
block: T.nilable(T.proc.params(e: ActiveRecord::InternalMetadata::ActiveRecord_Relation).void)
165-
).returns(T::Enumerable[ActiveRecord::InternalMetadata::ActiveRecord_Relation])
165+
).returns(ActiveRecord::Batches::BatchEnumerator)
166166
end
167167
def in_batches(of: 1000, start: nil, finish: nil, load: false, error_on_ignore: nil, &block); end
168168
end
@@ -260,7 +260,7 @@ module ActiveRecord::InternalMetadata::QueryMethodsReturningAssociationRelation
260260
load: T.nilable(T::Boolean),
261261
error_on_ignore: T.nilable(T::Boolean),
262262
block: T.nilable(T.proc.params(e: ActiveRecord::InternalMetadata::ActiveRecord_AssociationRelation).void)
263-
).returns(T::Enumerable[ActiveRecord::InternalMetadata::ActiveRecord_AssociationRelation])
263+
).returns(ActiveRecord::Batches::BatchEnumerator)
264264
end
265265
def in_batches(of: 1000, start: nil, finish: nil, load: false, error_on_ignore: nil, &block); end
266266
end

spec/test_data/v5.0/expected_potion.rbi

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ module Potion::QueryMethodsReturningRelation
132132
load: T.nilable(T::Boolean),
133133
error_on_ignore: T.nilable(T::Boolean),
134134
block: T.nilable(T.proc.params(e: Potion::ActiveRecord_Relation).void)
135-
).returns(T::Enumerable[Potion::ActiveRecord_Relation])
135+
).returns(ActiveRecord::Batches::BatchEnumerator)
136136
end
137137
def in_batches(of: 1000, start: nil, finish: nil, load: false, error_on_ignore: nil, &block); end
138138
end
@@ -230,7 +230,7 @@ module Potion::QueryMethodsReturningAssociationRelation
230230
load: T.nilable(T::Boolean),
231231
error_on_ignore: T.nilable(T::Boolean),
232232
block: T.nilable(T.proc.params(e: Potion::ActiveRecord_AssociationRelation).void)
233-
).returns(T::Enumerable[Potion::ActiveRecord_AssociationRelation])
233+
).returns(ActiveRecord::Batches::BatchEnumerator)
234234
end
235235
def in_batches(of: 1000, start: nil, finish: nil, load: false, error_on_ignore: nil, &block); end
236236
end

spec/test_data/v5.0/expected_robe.rbi

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ module Robe::QueryMethodsReturningRelation
153153
load: T.nilable(T::Boolean),
154154
error_on_ignore: T.nilable(T::Boolean),
155155
block: T.nilable(T.proc.params(e: Robe::ActiveRecord_Relation).void)
156-
).returns(T::Enumerable[Robe::ActiveRecord_Relation])
156+
).returns(ActiveRecord::Batches::BatchEnumerator)
157157
end
158158
def in_batches(of: 1000, start: nil, finish: nil, load: false, error_on_ignore: nil, &block); end
159159
end
@@ -251,7 +251,7 @@ module Robe::QueryMethodsReturningAssociationRelation
251251
load: T.nilable(T::Boolean),
252252
error_on_ignore: T.nilable(T::Boolean),
253253
block: T.nilable(T.proc.params(e: Robe::ActiveRecord_AssociationRelation).void)
254-
).returns(T::Enumerable[Robe::ActiveRecord_AssociationRelation])
254+
).returns(ActiveRecord::Batches::BatchEnumerator)
255255
end
256256
def in_batches(of: 1000, start: nil, finish: nil, load: false, error_on_ignore: nil, &block); end
257257
end

0 commit comments

Comments
 (0)