Skip to content

Commit 815e8f9

Browse files
authored
Add Rails types for Engine.routes and ActiveRecord::Relation::MULTI_VALUE_METHODS (#931)
* Add Rails types for Engine.routes and https://api.rubyonrails.org/classes/ActiveRecord/Relation.html * Use `def` for `interface` ``` RBS/Lint/Syntax: unexpected token for interface declaration member, token=`attr_reader` (kATTRREADER) RBS/Style/EmptyArgument: Insert `()` when empty argument RBS/Layout/TrailingWhitespace: Trailing whitespace detected. ``` * Review response to #931 (review)
1 parent 6a12ebd commit 815e8f9

File tree

7 files changed

+26
-1
lines changed

7 files changed

+26
-1
lines changed

gems/activerecord/6.0/activerecord-6.0.rbs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,10 @@ interface _ActiveRecord_Relation[Model, PrimaryKey] # rubocop:disable RBS/Lint/T
158158
def count: () -> ::Integer
159159
| () { (Model) -> boolish } -> ::Integer
160160
| (Symbol | String column_name) -> ::Integer
161+
162+
def order_values: () -> Array[String | Symbol]?
163+
def joins_values: () -> Array[String | Symbol]?
164+
def left_outer_joins_values: () -> Array[String | Symbol]?
161165
end
162166

163167
interface _ActiveRecord_Relation_ClassMethods[Model, Relation, PrimaryKey] # rubocop:disable RBS/Lint/TopLevelInterface

gems/activerecord/6.1/activerecord-6.1.rbs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,10 @@ interface _ActiveRecord_Relation[Model, PrimaryKey] # rubocop:disable RBS/Lint/T
204204
def count: () -> ::Integer
205205
| () { (Model) -> boolish } -> ::Integer
206206
| (Symbol | String column_name) -> ::Integer
207+
208+
def order_values: () -> Array[String | Symbol]?
209+
def joins_values: () -> Array[String | Symbol]?
210+
def left_outer_joins_values: () -> Array[String | Symbol]?
207211
end
208212

209213
interface _ActiveRecord_Relation_ClassMethods[Model, Relation, PrimaryKey] # rubocop:disable RBS/Lint/TopLevelInterface

gems/activerecord/7.0/activerecord-7.0.rbs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -249,6 +249,10 @@ interface _ActiveRecord_Relation[Model, PrimaryKey] # rubocop:disable RBS/Lint/T
249249
| () { (Model) -> boolish } -> ::Integer
250250
| (Symbol | String column_name) -> ::Integer
251251
def sole: () -> Model
252+
253+
def order_values: () -> Array[String | Symbol]?
254+
def joins_values: () -> Array[String | Symbol]?
255+
def left_outer_joins_values: () -> Array[String | Symbol]?
252256
end
253257

254258
interface _ActiveRecord_Relation_ClassMethods[Model, Relation, PrimaryKey] # rubocop:disable RBS/Lint/TopLevelInterface

gems/activerecord/7.1/activerecord-7.1.rbs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -315,6 +315,11 @@ interface _ActiveRecord_Relation[Model, PrimaryKey] # rubocop:disable RBS/Lint/T
315315
| () { (Model) -> boolish } -> ::Integer
316316
| (Symbol | String column_name) -> ::Integer
317317
def sole: () -> Model
318+
319+
def order_values: () -> Array[String | Symbol]?
320+
def joins_values: () -> Array[String | Symbol]?
321+
def left_outer_joins_values: () -> Array[String | Symbol]?
322+
318323
end
319324

320325
interface _ActiveRecord_Relation_ClassMethods[Model, Relation, PrimaryKey] # rubocop:disable RBS/Lint/TopLevelInterface

gems/activerecord/7.2/activerecord-7.2.rbs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -324,6 +324,10 @@ interface _ActiveRecord_Relation[Model, PrimaryKey] # rubocop:disable RBS/Lint/T
324324
| () { (Model) -> boolish } -> ::Integer
325325
| (Symbol | String column_name) -> ::Integer
326326
def sole: () -> Model
327+
328+
def order_values: () -> Array[String | Symbol]?
329+
def joins_values: () -> Array[String | Symbol]?
330+
def left_outer_joins_values: () -> Array[String | Symbol]?
327331
end
328332

329333
interface _ActiveRecord_Relation_ClassMethods[Model, Relation, PrimaryKey] # rubocop:disable RBS/Lint/TopLevelInterface

gems/activerecord/8.0/activerecord-8.0.rbs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -324,6 +324,10 @@ interface _ActiveRecord_Relation[Model, PrimaryKey] # rubocop:disable RBS/Lint/T
324324
| () { (Model) -> boolish } -> ::Integer
325325
| (Symbol | String column_name) -> ::Integer
326326
def sole: () -> Model
327+
328+
def order_values: () -> Array[String | Symbol]?
329+
def joins_values: () -> Array[String | Symbol]?
330+
def left_outer_joins_values: () -> Array[String | Symbol]?
327331
end
328332

329333
interface _ActiveRecord_Relation_ClassMethods[Model, Relation, PrimaryKey] # rubocop:disable RBS/Lint/TopLevelInterface

gems/railties/6.0/railties.rbs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ module Rails
2222
class Engine
2323
# Defines the routes for this engine. If a block is given to
2424
# routes, it is appended to the engine.
25-
def routes: () ?{ () -> untyped } -> untyped
25+
def routes: () ?{ () [self: Mapper] -> void } -> ActionDispatch::Routing::RouteSet
2626
end
2727
end
2828

0 commit comments

Comments
 (0)