sportdb-models 1.18.1 → 1.18.2
Sign up to get free protection for your applications and to get access to all the features.
- 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
|