sportdb-models 1.18.1 → 1.18.2
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 +4 -4
- data/Manifest.txt +2 -0
- data/lib/sportdb/deleter.rb +9 -7
- data/lib/sportdb/models.rb +2 -0
- data/lib/sportdb/models/event.rb +2 -1
- data/lib/sportdb/models/stage.rb +22 -0
- data/lib/sportdb/models/stage_team.rb +14 -0
- data/lib/sportdb/schema.rb +26 -3
- data/lib/sportdb/version.rb +1 -1
- data/test/helper.rb +1 -1
- metadata +3 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5a8aa32c576aa627b91f488e4b336aafee072b15
|
4
|
+
data.tar.gz: '009805bc02ff2490aaf2e0e3139ad44e740ba6b3'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eea5542f78191108d9227fdecbd84ef7b1a31d1689b1ef106d0203f27c07d9db4d591bd91cdf8b57d1d27cab55a624dc519461b5c77b6966f323680e0e9b9d46
|
7
|
+
data.tar.gz: cb060e6c811f4549fa956a9950b7ff6b00f8aef4f73425389020a8550e9e6b3cc69b19f603f30d8c40513faafb025718af54cc745ba4a91bbecc52114f044a54
|
data/Manifest.txt
CHANGED
@@ -27,6 +27,8 @@ lib/sportdb/models/person.rb
|
|
27
27
|
lib/sportdb/models/roster.rb
|
28
28
|
lib/sportdb/models/round.rb
|
29
29
|
lib/sportdb/models/season.rb
|
30
|
+
lib/sportdb/models/stage.rb
|
31
|
+
lib/sportdb/models/stage_team.rb
|
30
32
|
lib/sportdb/models/stats/alltime_standing.rb
|
31
33
|
lib/sportdb/models/stats/alltime_standing_entry.rb
|
32
34
|
lib/sportdb/models/stats/event_standing.rb
|
data/lib/sportdb/deleter.rb
CHANGED
@@ -9,7 +9,7 @@ module SportDb
|
|
9
9
|
|
10
10
|
def run
|
11
11
|
# for now delete all tables
|
12
|
-
|
12
|
+
|
13
13
|
## stats
|
14
14
|
AlltimeStandingEntry.delete_all
|
15
15
|
AlltimeStanding.delete_all
|
@@ -25,18 +25,20 @@ module SportDb
|
|
25
25
|
EventGround.delete_all
|
26
26
|
Group.delete_all
|
27
27
|
GroupTeam.delete_all
|
28
|
+
Stage.delete_all
|
29
|
+
StageTeam.delete_all
|
28
30
|
Round.delete_all
|
29
31
|
Badge.delete_all
|
30
32
|
|
31
33
|
Roster.delete_all
|
32
34
|
|
33
35
|
Team.delete_all
|
34
|
-
|
36
|
+
|
35
37
|
League.delete_all
|
36
38
|
Season.delete_all
|
37
|
-
|
39
|
+
|
38
40
|
Ground.delete_all # stadiums
|
39
|
-
|
41
|
+
|
40
42
|
Assoc.delete_all # associations / organizations
|
41
43
|
AssocAssoc.delete_all # associations / organizations
|
42
44
|
|
@@ -46,7 +48,7 @@ module SportDb
|
|
46
48
|
## Race.delete_all
|
47
49
|
## Track.delete_all
|
48
50
|
end
|
49
|
-
|
51
|
+
|
50
52
|
end # class Deleter
|
51
|
-
|
52
|
-
end # module SportDb
|
53
|
+
|
54
|
+
end # module SportDb
|
data/lib/sportdb/models.rb
CHANGED
@@ -36,6 +36,8 @@ require 'sportdb/models/person'
|
|
36
36
|
require 'sportdb/models/roster'
|
37
37
|
require 'sportdb/models/round'
|
38
38
|
require 'sportdb/models/season'
|
39
|
+
require 'sportdb/models/stage'
|
40
|
+
require 'sportdb/models/stage_team'
|
39
41
|
require 'sportdb/models/team'
|
40
42
|
require 'sportdb/models/team_compat' ### fix/todo: move to compat gem !!!!!
|
41
43
|
|
data/lib/sportdb/models/event.rb
CHANGED
@@ -15,6 +15,7 @@ else
|
|
15
15
|
has_many :rounds, -> { order('pos') } # all (fix and flex) rounds
|
16
16
|
has_many :groups, -> { order('pos') }
|
17
17
|
end
|
18
|
+
has_many :stages
|
18
19
|
|
19
20
|
has_many :games, :through => :rounds
|
20
21
|
|
@@ -40,7 +41,7 @@ end
|
|
40
41
|
# event key is composite of league + season (e.g. at.2012/13) etc.
|
41
42
|
self.key = "#{league.key}.#{season.key}"
|
42
43
|
end
|
43
|
-
|
44
|
+
|
44
45
|
def title
|
45
46
|
"#{league.title} #{season.title}"
|
46
47
|
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
|
2
|
+
module SportDb
|
3
|
+
module Model
|
4
|
+
|
5
|
+
|
6
|
+
class Stage < ActiveRecord::Base
|
7
|
+
|
8
|
+
if ActiveRecord::VERSION::MAJOR == 3
|
9
|
+
has_many :games, order: 'pos'
|
10
|
+
else
|
11
|
+
has_many :games, -> { order('pos') }
|
12
|
+
end
|
13
|
+
|
14
|
+
belongs_to :event
|
15
|
+
|
16
|
+
has_many :stage_teams, class_name: 'StageTeam'
|
17
|
+
has_many :teams, :through => :stage_teams
|
18
|
+
|
19
|
+
end # class Stage
|
20
|
+
|
21
|
+
end # module Model
|
22
|
+
end # module SportDb
|
data/lib/sportdb/schema.rb
CHANGED
@@ -141,6 +141,16 @@ end
|
|
141
141
|
add_index :groups, :event_id # fk event_id index
|
142
142
|
|
143
143
|
|
144
|
+
create_table :stages do |t| # e.g. regular season, champions round, etc.
|
145
|
+
t.references :event, null: false, index: false ## Note: do NOT auto-add index
|
146
|
+
t.string :title, null: false
|
147
|
+
t.timestamps
|
148
|
+
end
|
149
|
+
|
150
|
+
add_index :stages, :event_id # fk event_id index
|
151
|
+
|
152
|
+
|
153
|
+
|
144
154
|
###########################
|
145
155
|
# fix: rename table to matches
|
146
156
|
create_table :games do |t|
|
@@ -148,6 +158,7 @@ create_table :games do |t|
|
|
148
158
|
t.references :round, null: false, index: false ## Note: do NOT auto-add index
|
149
159
|
t.integer :pos, null: false
|
150
160
|
t.references :group, index: false ## Note: do NOT auto-add index -- group is optional
|
161
|
+
t.references :stage, index: false # optional - regular seasion / champions round etc.
|
151
162
|
t.references :team1, null: false, index: false ## Note: do NOT auto-add index
|
152
163
|
t.references :team2, null: false, index: false ## Note: do NOT auto-add index
|
153
164
|
|
@@ -197,10 +208,22 @@ create_table :events_teams do |t|
|
|
197
208
|
t.timestamps
|
198
209
|
end
|
199
210
|
|
200
|
-
add_index :events_teams, [:event_id
|
211
|
+
add_index :events_teams, [:event_id, :team_id], unique: true
|
201
212
|
add_index :events_teams, :event_id
|
202
213
|
|
203
214
|
|
215
|
+
# todo: remove id from join table (without extra fields)? why?? why not??
|
216
|
+
create_table :stages_teams do |t|
|
217
|
+
t.references :stage, null: false, index: false ## Note: do NOT auto-add index
|
218
|
+
t.references :team, null: false, index: false ## Note: do NOT auto-add index
|
219
|
+
t.timestamps
|
220
|
+
end
|
221
|
+
|
222
|
+
add_index :stages_teams, [:stage_id, :team_id], unique: true
|
223
|
+
add_index :stages_teams, :stage_id
|
224
|
+
|
225
|
+
|
226
|
+
|
204
227
|
# todo: remove id from join table (without extra fields)? why?? why not??
|
205
228
|
create_table :events_grounds do |t|
|
206
229
|
t.references :event, null: false, index: false ## Note: do NOT auto-add index
|
@@ -208,7 +231,7 @@ create_table :events_grounds do |t|
|
|
208
231
|
t.timestamps
|
209
232
|
end
|
210
233
|
|
211
|
-
add_index :events_grounds, [:event_id
|
234
|
+
add_index :events_grounds, [:event_id, :ground_id], unique: true
|
212
235
|
add_index :events_grounds, :event_id
|
213
236
|
|
214
237
|
|
@@ -219,7 +242,7 @@ create_table :groups_teams do |t|
|
|
219
242
|
t.timestamps
|
220
243
|
end
|
221
244
|
|
222
|
-
add_index :groups_teams, [:group_id
|
245
|
+
add_index :groups_teams, [:group_id, :team_id], unique: true
|
223
246
|
add_index :groups_teams, :group_id
|
224
247
|
|
225
248
|
|
data/lib/sportdb/version.rb
CHANGED
data/test/helper.rb
CHANGED
@@ -28,6 +28,7 @@ AssocAssoc = SportDb::Model::AssocAssoc
|
|
28
28
|
|
29
29
|
Round = SportDb::Model::Round
|
30
30
|
Group = SportDb::Model::Group
|
31
|
+
Stage = SportDb::Model::Stage
|
31
32
|
Game = SportDb::Model::Game
|
32
33
|
GameCursor = SportDb::Model::GameCursor
|
33
34
|
|
@@ -147,4 +148,3 @@ end
|
|
147
148
|
# setup db -> schema / tables
|
148
149
|
|
149
150
|
SportDb.setup_in_memory_db
|
150
|
-
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sportdb-models
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.18.
|
4
|
+
version: 1.18.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gerald Bauer
|
@@ -118,6 +118,8 @@ files:
|
|
118
118
|
- lib/sportdb/models/roster.rb
|
119
119
|
- lib/sportdb/models/round.rb
|
120
120
|
- lib/sportdb/models/season.rb
|
121
|
+
- lib/sportdb/models/stage.rb
|
122
|
+
- lib/sportdb/models/stage_team.rb
|
121
123
|
- lib/sportdb/models/stats/alltime_standing.rb
|
122
124
|
- lib/sportdb/models/stats/alltime_standing_entry.rb
|
123
125
|
- lib/sportdb/models/stats/event_standing.rb
|