1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# `class List < Sequel::Model(DB[:lists])` has no constant superclass for
# the inline parser to read, so the models are marked `@rbs skip` in
# models.rb and signed here: their columns and associations.
module RankKing
class User < Sequel::Model
def login: () -> String
def lists: () -> Array[List]
def lists_dataset: () -> Sequel::Dataset[List]
end
class List < Sequel::Model
def user_id: () -> Integer
def user: () -> User
def name: () -> String
def items: () -> Array[Item]
def axes: () -> Array[Axis]
def items_dataset: () -> Sequel::Dataset[Item]
def axes_dataset: () -> Sequel::Dataset[Axis]
def source_kind: () -> String
def synced_at: () -> Time?
end
class Item < Sequel::Model
def name: () -> String
def list_id: () -> Integer
def list: () -> List
def archived_at: () -> Time?
end
class Axis < Sequel::Model
def name: () -> String
def list_id: () -> Integer
def list: () -> List
def results: () -> Array[Result]
def results_dataset: () -> Sequel::Dataset[Result]
def ranking: (?Hash[Integer, OpenSkill::Rating]) -> [Array[Item], Array[Item]]
def ratings: () -> Hash[Integer, OpenSkill::Rating]
end
class Result < Sequel::Model
def axis_id: () -> Integer
def winner_id: () -> Integer
def loser_id: () -> Integer
def tie: () -> bool
def axis: () -> Axis
def winner: () -> Item
def loser: () -> Item
end
end