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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 77ac65c3b4cbd22f7a45a5c1a3fe0397f7ddf41a
4
- data.tar.gz: b9f9c90af5b5b65cb4c5ab5bbb7cff38805f84c1
3
+ metadata.gz: 5a8aa32c576aa627b91f488e4b336aafee072b15
4
+ data.tar.gz: '009805bc02ff2490aaf2e0e3139ad44e740ba6b3'
5
5
  SHA512:
6
- metadata.gz: e3b4ef1698e08a54c84c2139a0c025578677a41487ab1a267dce27ac684b033fa0fcc407652631749d21af5f8233c1e70fbf81c33ce71249e7be405030401849
7
- data.tar.gz: 83f8c56ad5052e664e8c62d5c48c253c75dfb3c1c68e96155a902a22323c42fd4b5ec05ac1b36a28a06746a69798cfaabf58afd0c68cd8d8ecfd46fb2bd97b9a
6
+ metadata.gz: eea5542f78191108d9227fdecbd84ef7b1a31d1689b1ef106d0203f27c07d9db4d591bd91cdf8b57d1d27cab55a624dc519461b5c77b6966f323680e0e9b9d46
7
+ data.tar.gz: cb060e6c811f4549fa956a9950b7ff6b00f8aef4f73425389020a8550e9e6b3cc69b19f603f30d8c40513faafb025718af54cc745ba4a91bbecc52114f044a54
@@ -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
@@ -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
@@ -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
 
@@ -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
@@ -0,0 +1,14 @@
1
+ module SportDb
2
+ module Model
3
+
4
+
5
+ class StageTeam < ActiveRecord::Base
6
+ self.table_name = 'stages_teams'
7
+
8
+ belongs_to :stage
9
+ belongs_to :team
10
+ end # class StageTeam
11
+
12
+
13
+ end # module Model
14
+ end # module SportDb
@@ -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,:team_id], unique: true
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,:ground_id], unique: true
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,:team_id], unique: true
245
+ add_index :groups_teams, [:group_id, :team_id], unique: true
223
246
  add_index :groups_teams, :group_id
224
247
 
225
248
 
@@ -4,7 +4,7 @@ module SportDb
4
4
 
5
5
  MAJOR = 1 ## todo: namespace inside version or something - why? why not??
6
6
  MINOR = 18
7
- PATCH = 1
7
+ PATCH = 2
8
8
  VERSION = [MAJOR,MINOR,PATCH].join('.')
9
9
 
10
10
  def self.version
@@ -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.1
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