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 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