sportdb-models 1.18.6 → 2.0.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.
Files changed (162) hide show
  1. checksums.yaml +4 -4
  2. data/Manifest.txt +27 -144
  3. data/Rakefile +2 -3
  4. data/lib/sportdb/models.rb +94 -159
  5. data/lib/sportdb/{deleter.rb → models/deleter.rb} +4 -10
  6. data/lib/sportdb/models/formats.rb +23 -0
  7. data/lib/sportdb/models/models/assoc.rb +38 -0
  8. data/lib/sportdb/models/{badge.rb → models/badge.rb} +1 -1
  9. data/lib/sportdb/models/models/event.rb +55 -0
  10. data/lib/sportdb/models/{forward.rb → models/forward.rb} +3 -3
  11. data/lib/sportdb/models/{goal.rb → models/goal.rb} +1 -1
  12. data/lib/sportdb/models/models/ground.rb +16 -0
  13. data/lib/sportdb/models/{group.rb → models/group.rb} +10 -7
  14. data/lib/sportdb/models/models/league.rb +20 -0
  15. data/lib/sportdb/models/{roster.rb → models/lineup.rb} +3 -4
  16. data/lib/sportdb/models/{game.rb → models/match.rb} +18 -61
  17. data/lib/sportdb/models/{person.rb → models/person.rb} +0 -0
  18. data/lib/sportdb/models/{round.rb → models/round.rb} +1 -6
  19. data/lib/sportdb/models/{season.rb → models/season.rb} +2 -1
  20. data/lib/sportdb/models/{stage.rb → models/stage.rb} +9 -5
  21. data/lib/sportdb/models/{stats/alltime_standing_entry.rb → models/stats/alltime_standing.rb} +9 -1
  22. data/lib/sportdb/models/{stats/event_standing_entry.rb → models/stats/event_standing.rb} +11 -1
  23. data/lib/sportdb/models/{stats/group_standing_entry.rb → models/stats/group_standing.rb} +10 -1
  24. data/lib/sportdb/models/models/team.rb +56 -0
  25. data/lib/sportdb/models/{world → models/world}/city.rb +2 -2
  26. data/lib/sportdb/models/{world → models/world}/continent.rb +0 -0
  27. data/lib/sportdb/models/{world → models/world}/country.rb +0 -0
  28. data/lib/sportdb/models/{world → models/world}/state.rb +0 -0
  29. data/lib/sportdb/models/schema.rb +466 -0
  30. data/lib/sportdb/models/stats.rb +23 -0
  31. data/lib/sportdb/models/utils.rb +24 -24
  32. data/lib/sportdb/{version.rb → models/version.rb} +12 -5
  33. data/test/helper.rb +10 -114
  34. data/test/test_changes.rb +38 -38
  35. data/test/test_cursor.rb +15 -15
  36. data/test/test_winner.rb +75 -70
  37. metadata +29 -160
  38. data/lib/sportdb/calc.rb +0 -279
  39. data/lib/sportdb/indexers/team.rb +0 -87
  40. data/lib/sportdb/matcher.rb +0 -31
  41. data/lib/sportdb/models/assoc.rb +0 -106
  42. data/lib/sportdb/models/assoc_assoc.rb +0 -15
  43. data/lib/sportdb/models/event.rb +0 -66
  44. data/lib/sportdb/models/event_ground.rb +0 -15
  45. data/lib/sportdb/models/event_team.rb +0 -16
  46. data/lib/sportdb/models/ground.rb +0 -100
  47. data/lib/sportdb/models/group_team.rb +0 -14
  48. data/lib/sportdb/models/league.rb +0 -83
  49. data/lib/sportdb/models/stage_team.rb +0 -14
  50. data/lib/sportdb/models/stats/alltime_standing.rb +0 -44
  51. data/lib/sportdb/models/stats/event_standing.rb +0 -55
  52. data/lib/sportdb/models/stats/group_standing.rb +0 -50
  53. data/lib/sportdb/models/team.rb +0 -119
  54. data/lib/sportdb/models/team_compat.rb +0 -64
  55. data/lib/sportdb/patterns.rb +0 -37
  56. data/lib/sportdb/pretty_printer.rb +0 -175
  57. data/lib/sportdb/reader.rb +0 -132
  58. data/lib/sportdb/reader_file.rb +0 -131
  59. data/lib/sportdb/reader_zip.rb +0 -172
  60. data/lib/sportdb/readers/assoc.rb +0 -54
  61. data/lib/sportdb/readers/event.rb +0 -253
  62. data/lib/sportdb/readers/event_meta.rb +0 -133
  63. data/lib/sportdb/readers/event_table.rb +0 -196
  64. data/lib/sportdb/readers/game.rb +0 -912
  65. data/lib/sportdb/readers/ground.rb +0 -53
  66. data/lib/sportdb/readers/league.rb +0 -54
  67. data/lib/sportdb/readers/season.rb +0 -83
  68. data/lib/sportdb/readers/squad_club.rb +0 -201
  69. data/lib/sportdb/readers/squad_national_team.rb +0 -173
  70. data/lib/sportdb/readers/team.rb +0 -53
  71. data/lib/sportdb/rsssf_reader.rb +0 -367
  72. data/lib/sportdb/schema.rb +0 -397
  73. data/lib/sportdb/standings.rb +0 -178
  74. data/lib/sportdb/stats.rb +0 -27
  75. data/lib/sportdb/utils.rb +0 -89
  76. data/lib/sportdb/utils_date.rb +0 -26
  77. data/lib/sportdb/utils_goals.rb +0 -20
  78. data/lib/sportdb/utils_group.rb +0 -63
  79. data/lib/sportdb/utils_map.rb +0 -44
  80. data/lib/sportdb/utils_round.rb +0 -165
  81. data/lib/sportdb/utils_scores.rb +0 -17
  82. data/lib/sportdb/utils_teams.rb +0 -48
  83. data/test/data/at-austria/2013_14/bl.txt +0 -227
  84. data/test/data/at-austria/2013_14/bl.yml +0 -30
  85. data/test/data/at-austria/2013_14/bl_ii.txt +0 -154
  86. data/test/data/at-austria/2013_14/el.txt +0 -4
  87. data/test/data/at-austria/2013_14/el.yml +0 -25
  88. data/test/data/at-austria/2013_14/squads/austria.txt +0 -40
  89. data/test/data/at-austria/2013_14/squads/salzburg.txt +0 -35
  90. data/test/data/at-austria/2014_15/1-bundesliga-ii.txt +0 -158
  91. data/test/data/at-austria/2014_15/1-bundesliga.yml +0 -18
  92. data/test/data/at-austria/2015_16/1-bundesliga-v2.conf.txt +0 -20
  93. data/test/data/at-austria/2015_16/1-bundesliga-v2.yml +0 -20
  94. data/test/data/at-austria/2015_16/1-bundesliga.conf.txt +0 -20
  95. data/test/data/at-austria/2015_16/1-bundesliga.yml +0 -24
  96. data/test/data/at-austria/2015_16/cup.yml +0 -77
  97. data/test/data/at-austria/leagues.txt +0 -11
  98. data/test/data/at-austria/teams.txt +0 -68
  99. data/test/data/at-austria/teams_2.txt +0 -21
  100. data/test/data/csv/de-2013-14--1-bundesliga.txt +0 -307
  101. data/test/data/de-deutschland/2013-14/1-bundesliga.yml +0 -26
  102. data/test/data/de-deutschland/leagues.txt +0 -4
  103. data/test/data/de-deutschland/teams.txt +0 -53
  104. data/test/data/eng-england/2015-16/1-premierleague-v2.yml +0 -2
  105. data/test/data/eng-england/2015-16/1-premierleague.yml +0 -5
  106. data/test/data/national-teams/assocs.txt +0 -231
  107. data/test/data/national-teams/europe/assocs.txt +0 -13
  108. data/test/data/national-teams/europe/teams.txt +0 -13
  109. data/test/data/national-teams/north-america/assocs.txt +0 -10
  110. data/test/data/national-teams/north-america/teams.txt +0 -7
  111. data/test/data/national-teams/teams.txt +0 -19
  112. data/test/data/players/europe/at-austria/players.txt +0 -45
  113. data/test/data/players/europe/de-deutschland/players.txt +0 -41
  114. data/test/data/players/south-america/br-brazil/players.txt +0 -51
  115. data/test/data/rsssf/at-2014-15--1-bundesliga.txt +0 -339
  116. data/test/data/rsssf/at-2015-16--1-bundesliga.txt +0 -18
  117. data/test/data/world-cup/1930/cup.txt +0 -71
  118. data/test/data/world-cup/1930/cup.yml +0 -23
  119. data/test/data/world-cup/1930/cup_goals.txt +0 -47
  120. data/test/data/world-cup/1930/cup_goals.yml +0 -23
  121. data/test/data/world-cup/1954/cup.txt +0 -90
  122. data/test/data/world-cup/1954/cup.yml +0 -30
  123. data/test/data/world-cup/1962/cup.txt +0 -86
  124. data/test/data/world-cup/1962/cup.yml +0 -32
  125. data/test/data/world-cup/1974/cup.yml +0 -35
  126. data/test/data/world-cup/1974/cup_finals.txt +0 -14
  127. data/test/data/world-cup/1974/cup_i.txt +0 -55
  128. data/test/data/world-cup/1974/cup_ii.txt +0 -34
  129. data/test/data/world-cup/2014/cup.txt +0 -5
  130. data/test/data/world-cup/2014/cup.yml +0 -54
  131. data/test/data/world-cup/2014/squads/br-brazil.txt +0 -46
  132. data/test/data/world-cup/2014/squads/de-deutschland.txt +0 -8
  133. data/test/data/world-cup/2014/squads/jp-japan.txt +0 -30
  134. data/test/data/world-cup/2014/squads/uy-uruguay.txt +0 -32
  135. data/test/data/world-cup/leagues.txt +0 -5
  136. data/test/data/world-cup/seasons_1930.txt +0 -4
  137. data/test/data/world-cup/seasons_1954.txt +0 -4
  138. data/test/data/world-cup/seasons_1962.txt +0 -4
  139. data/test/data/world-cup/seasons_1974.txt +0 -5
  140. data/test/data/world-cup/teams_1930.txt +0 -26
  141. data/test/data/world-cup/teams_1954.txt +0 -30
  142. data/test/data/world-cup/teams_1962.txt +0 -29
  143. data/test/data/world-cup/teams_1974.txt +0 -29
  144. data/test/test_assoc_reader.rb +0 -199
  145. data/test/test_event_meta_reader.rb +0 -47
  146. data/test/test_event_reader.rb +0 -64
  147. data/test/test_event_table_reader.rb +0 -57
  148. data/test/test_goals.rb +0 -107
  149. data/test/test_indexer_team.rb +0 -34
  150. data/test/test_load.rb +0 -61
  151. data/test/test_pp.rb +0 -35
  152. data/test/test_reader.rb +0 -88
  153. data/test/test_reader_from_string.rb +0 -63
  154. data/test/test_round_auto.rb +0 -370
  155. data/test/test_round_def.rb +0 -109
  156. data/test/test_round_header.rb +0 -183
  157. data/test/test_rsssf_reader.rb +0 -76
  158. data/test/test_squad_club_reader.rb +0 -76
  159. data/test/test_squad_national_team_reader.rb +0 -116
  160. data/test/test_standings.rb +0 -279
  161. data/test/test_standings_ii.rb +0 -46
  162. data/test/test_utils.rb +0 -124
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0dd5f98f71987e9c250fc7330f8c58b5b73dc59c
4
- data.tar.gz: f31178e06e8b4f9a5f08b06c5506252233eb1e1f
3
+ metadata.gz: 5c8072de5db8829c62e3b726472af30146ebf320
4
+ data.tar.gz: ad299b7cd1fe9e2e604ac09d69894df443a6d46b
5
5
  SHA512:
6
- metadata.gz: 30fc84ff5953bd2f390f152f6f912bb18f97a76e7692afcd99b221c3bb86dcd5ad9897ec637e9d1cbc968e2da591796c1446952f6495638f25099af37b1725ce
7
- data.tar.gz: f3146353a838f07e34a5b901a5ac9858b8aad3b33467e9cd042dfb43df0e9569de2ffcaa02dcf9ffe333753f667e2a12d3dc8e03d15133be723e0ba5a3c56d1a
6
+ metadata.gz: 34d296b375d07d2b3345796fb13d85482f27b46d36b954d65eff33db37d35a8debde350032bc55e5f21e62eb4efbdea9911498c9bb37f0a4d7b99ec720420337
7
+ data.tar.gz: ceadae3f743055cc344fff0badf8a43f145f9390cee78b9e64f7725768e3cbb00fd6a0899e9e52e8ffc67f4520f8d585efdae23fec6eb6bb72471f7d736b8d32
@@ -2,153 +2,36 @@ CHANGELOG.md
2
2
  Manifest.txt
3
3
  README.md
4
4
  Rakefile
5
- lib/sportdb/calc.rb
6
- lib/sportdb/deleter.rb
7
- lib/sportdb/indexers/team.rb
8
- lib/sportdb/matcher.rb
9
5
  lib/sportdb/models.rb
10
- lib/sportdb/models/assoc.rb
11
- lib/sportdb/models/assoc_assoc.rb
12
- lib/sportdb/models/badge.rb
13
- lib/sportdb/models/event.rb
14
- lib/sportdb/models/event_ground.rb
15
- lib/sportdb/models/event_team.rb
16
- lib/sportdb/models/forward.rb
17
- lib/sportdb/models/game.rb
18
- lib/sportdb/models/goal.rb
19
- lib/sportdb/models/ground.rb
20
- lib/sportdb/models/group.rb
21
- lib/sportdb/models/group_team.rb
22
- lib/sportdb/models/league.rb
23
- lib/sportdb/models/person.rb
24
- lib/sportdb/models/roster.rb
25
- lib/sportdb/models/round.rb
26
- lib/sportdb/models/season.rb
27
- lib/sportdb/models/stage.rb
28
- lib/sportdb/models/stage_team.rb
29
- lib/sportdb/models/stats/alltime_standing.rb
30
- lib/sportdb/models/stats/alltime_standing_entry.rb
31
- lib/sportdb/models/stats/event_standing.rb
32
- lib/sportdb/models/stats/event_standing_entry.rb
33
- lib/sportdb/models/stats/group_standing.rb
34
- lib/sportdb/models/stats/group_standing_entry.rb
35
- lib/sportdb/models/team.rb
36
- lib/sportdb/models/team_compat.rb
6
+ lib/sportdb/models/deleter.rb
7
+ lib/sportdb/models/formats.rb
8
+ lib/sportdb/models/models/assoc.rb
9
+ lib/sportdb/models/models/badge.rb
10
+ lib/sportdb/models/models/event.rb
11
+ lib/sportdb/models/models/forward.rb
12
+ lib/sportdb/models/models/goal.rb
13
+ lib/sportdb/models/models/ground.rb
14
+ lib/sportdb/models/models/group.rb
15
+ lib/sportdb/models/models/league.rb
16
+ lib/sportdb/models/models/lineup.rb
17
+ lib/sportdb/models/models/match.rb
18
+ lib/sportdb/models/models/person.rb
19
+ lib/sportdb/models/models/round.rb
20
+ lib/sportdb/models/models/season.rb
21
+ lib/sportdb/models/models/stage.rb
22
+ lib/sportdb/models/models/stats/alltime_standing.rb
23
+ lib/sportdb/models/models/stats/event_standing.rb
24
+ lib/sportdb/models/models/stats/group_standing.rb
25
+ lib/sportdb/models/models/team.rb
26
+ lib/sportdb/models/models/world/city.rb
27
+ lib/sportdb/models/models/world/continent.rb
28
+ lib/sportdb/models/models/world/country.rb
29
+ lib/sportdb/models/models/world/state.rb
30
+ lib/sportdb/models/schema.rb
31
+ lib/sportdb/models/stats.rb
37
32
  lib/sportdb/models/utils.rb
38
- lib/sportdb/models/world/city.rb
39
- lib/sportdb/models/world/continent.rb
40
- lib/sportdb/models/world/country.rb
41
- lib/sportdb/models/world/state.rb
42
- lib/sportdb/patterns.rb
43
- lib/sportdb/pretty_printer.rb
44
- lib/sportdb/reader.rb
45
- lib/sportdb/reader_file.rb
46
- lib/sportdb/reader_zip.rb
47
- lib/sportdb/readers/assoc.rb
48
- lib/sportdb/readers/event.rb
49
- lib/sportdb/readers/event_meta.rb
50
- lib/sportdb/readers/event_table.rb
51
- lib/sportdb/readers/game.rb
52
- lib/sportdb/readers/ground.rb
53
- lib/sportdb/readers/league.rb
54
- lib/sportdb/readers/season.rb
55
- lib/sportdb/readers/squad_club.rb
56
- lib/sportdb/readers/squad_national_team.rb
57
- lib/sportdb/readers/team.rb
58
- lib/sportdb/rsssf_reader.rb
59
- lib/sportdb/schema.rb
60
- lib/sportdb/standings.rb
61
- lib/sportdb/stats.rb
62
- lib/sportdb/utils.rb
63
- lib/sportdb/utils_date.rb
64
- lib/sportdb/utils_goals.rb
65
- lib/sportdb/utils_group.rb
66
- lib/sportdb/utils_map.rb
67
- lib/sportdb/utils_round.rb
68
- lib/sportdb/utils_scores.rb
69
- lib/sportdb/utils_teams.rb
70
- lib/sportdb/version.rb
71
- test/data/at-austria/2013_14/bl.txt
72
- test/data/at-austria/2013_14/bl.yml
73
- test/data/at-austria/2013_14/bl_ii.txt
74
- test/data/at-austria/2013_14/el.txt
75
- test/data/at-austria/2013_14/el.yml
76
- test/data/at-austria/2013_14/squads/austria.txt
77
- test/data/at-austria/2013_14/squads/salzburg.txt
78
- test/data/at-austria/2014_15/1-bundesliga-ii.txt
79
- test/data/at-austria/2014_15/1-bundesliga.yml
80
- test/data/at-austria/2015_16/1-bundesliga-v2.conf.txt
81
- test/data/at-austria/2015_16/1-bundesliga-v2.yml
82
- test/data/at-austria/2015_16/1-bundesliga.conf.txt
83
- test/data/at-austria/2015_16/1-bundesliga.yml
84
- test/data/at-austria/2015_16/cup.yml
85
- test/data/at-austria/leagues.txt
86
- test/data/at-austria/teams.txt
87
- test/data/at-austria/teams_2.txt
88
- test/data/csv/de-2013-14--1-bundesliga.txt
89
- test/data/de-deutschland/2013-14/1-bundesliga.yml
90
- test/data/de-deutschland/leagues.txt
91
- test/data/de-deutschland/teams.txt
92
- test/data/eng-england/2015-16/1-premierleague-v2.yml
93
- test/data/eng-england/2015-16/1-premierleague.yml
94
- test/data/national-teams/assocs.txt
95
- test/data/national-teams/europe/assocs.txt
96
- test/data/national-teams/europe/teams.txt
97
- test/data/national-teams/north-america/assocs.txt
98
- test/data/national-teams/north-america/teams.txt
99
- test/data/national-teams/teams.txt
100
- test/data/players/europe/at-austria/players.txt
101
- test/data/players/europe/de-deutschland/players.txt
102
- test/data/players/south-america/br-brazil/players.txt
103
- test/data/rsssf/at-2014-15--1-bundesliga.txt
104
- test/data/rsssf/at-2015-16--1-bundesliga.txt
105
- test/data/world-cup/1930/cup.txt
106
- test/data/world-cup/1930/cup.yml
107
- test/data/world-cup/1930/cup_goals.txt
108
- test/data/world-cup/1930/cup_goals.yml
109
- test/data/world-cup/1954/cup.txt
110
- test/data/world-cup/1954/cup.yml
111
- test/data/world-cup/1962/cup.txt
112
- test/data/world-cup/1962/cup.yml
113
- test/data/world-cup/1974/cup.yml
114
- test/data/world-cup/1974/cup_finals.txt
115
- test/data/world-cup/1974/cup_i.txt
116
- test/data/world-cup/1974/cup_ii.txt
117
- test/data/world-cup/2014/cup.txt
118
- test/data/world-cup/2014/cup.yml
119
- test/data/world-cup/2014/squads/br-brazil.txt
120
- test/data/world-cup/2014/squads/de-deutschland.txt
121
- test/data/world-cup/2014/squads/jp-japan.txt
122
- test/data/world-cup/2014/squads/uy-uruguay.txt
123
- test/data/world-cup/leagues.txt
124
- test/data/world-cup/seasons_1930.txt
125
- test/data/world-cup/seasons_1954.txt
126
- test/data/world-cup/seasons_1962.txt
127
- test/data/world-cup/seasons_1974.txt
128
- test/data/world-cup/teams_1930.txt
129
- test/data/world-cup/teams_1954.txt
130
- test/data/world-cup/teams_1962.txt
131
- test/data/world-cup/teams_1974.txt
33
+ lib/sportdb/models/version.rb
132
34
  test/helper.rb
133
- test/test_assoc_reader.rb
134
35
  test/test_changes.rb
135
36
  test/test_cursor.rb
136
- test/test_event_meta_reader.rb
137
- test/test_event_reader.rb
138
- test/test_event_table_reader.rb
139
- test/test_goals.rb
140
- test/test_indexer_team.rb
141
- test/test_load.rb
142
- test/test_pp.rb
143
- test/test_reader.rb
144
- test/test_reader_from_string.rb
145
- test/test_round_auto.rb
146
- test/test_round_def.rb
147
- test/test_round_header.rb
148
- test/test_rsssf_reader.rb
149
- test/test_squad_club_reader.rb
150
- test/test_squad_national_team_reader.rb
151
- test/test_standings.rb
152
- test/test_standings_ii.rb
153
- test/test_utils.rb
154
37
  test/test_winner.rb
data/Rakefile CHANGED
@@ -1,10 +1,10 @@
1
1
  require 'hoe'
2
- require './lib/sportdb/version.rb'
2
+ require './lib/sportdb/models/version.rb'
3
3
 
4
4
 
5
5
  Hoe.spec 'sportdb-models' do
6
6
 
7
- self.version = SportDb::VERSION
7
+ self.version = SportDb::Module::Models::VERSION
8
8
 
9
9
  self.summary = "sportdb-models - sport.db schema 'n' models for easy (re)use"
10
10
  self.description = summary
@@ -22,7 +22,6 @@ Hoe.spec 'sportdb-models' do
22
22
  self.extra_deps = [
23
23
  ['worlddb-models', '>= 2.4.0'], # Note: pull in all (extra) dependencies va worlddb-models
24
24
  ['persondb-models', '>= 0.5.0'], # persons (people) table
25
- ['sportdb-match-formats', '>= 0.1.0'],
26
25
  ]
27
26
 
28
27
  self.licenses = ['Public Domain']
@@ -6,102 +6,47 @@ require 'worlddb/models' # NOTE: include worlddb-models gem (not cli tools g
6
6
  require 'persondb/models'
7
7
 
8
8
 
9
- require 'sportdb/match/formats' ## todo/fix: move all readers out-of-models AND than (finally) remove sportdb/formats dependency
9
+ # our own code
10
10
 
11
+ require 'sportdb/models/version' # let version always go first
11
12
 
12
- # our own code
13
+ require 'sportdb/models/formats'
14
+ require 'sportdb/models/models/forward'
13
15
 
14
- require 'sportdb/version' # let version always go first
15
-
16
- require 'sportdb/patterns'
17
- require 'sportdb/models/forward'
18
- require 'sportdb/models/world/city'
19
- require 'sportdb/models/world/country'
20
- require 'sportdb/models/world/continent'
21
- require 'sportdb/models/world/state'
22
- require 'sportdb/models/assoc'
23
- require 'sportdb/models/assoc_assoc'
24
- require 'sportdb/models/badge'
25
- require 'sportdb/models/event'
26
- require 'sportdb/models/event_ground'
27
- require 'sportdb/models/event_team'
28
- require 'sportdb/models/game'
29
- require 'sportdb/models/goal'
30
- require 'sportdb/models/ground'
31
- require 'sportdb/models/group'
32
- require 'sportdb/models/group_team'
33
- require 'sportdb/models/league'
34
- require 'sportdb/models/person'
35
- require 'sportdb/models/roster'
36
- require 'sportdb/models/round'
37
- require 'sportdb/models/season'
38
- require 'sportdb/models/stage'
39
- require 'sportdb/models/stage_team'
40
- require 'sportdb/models/team'
41
- require 'sportdb/models/team_compat' ### fix/todo: move to compat gem !!!!!
42
-
43
-
44
- require 'sportdb/models/stats/alltime_standing'
45
- require 'sportdb/models/stats/alltime_standing_entry'
46
- require 'sportdb/models/stats/event_standing'
47
- require 'sportdb/models/stats/event_standing_entry'
48
- require 'sportdb/models/stats/group_standing'
49
- require 'sportdb/models/stats/group_standing_entry'
50
-
51
- require 'sportdb/models/utils' # e.g. GameCursor
52
-
53
-
54
- require 'sportdb/schema' # NB: requires sportdb/models (include SportDB::Models)
55
-
56
-
57
- require 'sportdb/utils'
58
- require 'sportdb/utils_date'
59
- require 'sportdb/utils_group'
60
- require 'sportdb/utils_map'
61
- require 'sportdb/utils_round'
62
- require 'sportdb/utils_scores'
63
- require 'sportdb/utils_teams'
64
- require 'sportdb/utils_goals'
65
- require 'sportdb/matcher'
66
- require 'sportdb/calc' # fix/todo: obsolete - replace w/ standings
67
- require 'sportdb/standings'
68
-
69
-
70
- require 'sportdb/readers/assoc'
71
- require 'sportdb/readers/event' ## old event reader (remove later??)
72
- require 'sportdb/readers/event_table' ## new "standard" event reader
73
- require 'sportdb/readers/event_meta' ## new "standard" event reader for meta data
74
- require 'sportdb/readers/game'
75
- require 'sportdb/readers/ground'
76
- require 'sportdb/readers/league'
77
- require 'sportdb/readers/season'
78
- require 'sportdb/readers/squad_club' # roster
79
- require 'sportdb/readers/squad_national_team'
80
- require 'sportdb/readers/team'
81
- require 'sportdb/reader'
82
- require 'sportdb/reader_file'
83
- require 'sportdb/reader_zip'
84
-
85
- require 'sportdb/indexers/team'
86
-
87
-
88
- require 'sportdb/deleter'
89
- require 'sportdb/stats'
90
-
91
- require 'sportdb/pretty_printer'
92
-
93
- ## "simplified" match reader for rsssf-formated/style leagues
94
- require 'sportdb/rsssf_reader'
16
+ require 'sportdb/models/models/world/city'
17
+ require 'sportdb/models/models/world/country'
18
+ require 'sportdb/models/models/world/continent'
19
+ require 'sportdb/models/models/world/state'
95
20
 
21
+ require 'sportdb/models/models/assoc'
22
+ require 'sportdb/models/models/badge'
23
+ require 'sportdb/models/models/event'
24
+ require 'sportdb/models/models/goal'
25
+ require 'sportdb/models/models/ground'
26
+ require 'sportdb/models/models/group'
27
+ require 'sportdb/models/models/league'
28
+ require 'sportdb/models/models/lineup'
29
+ require 'sportdb/models/models/match'
30
+ require 'sportdb/models/models/person'
31
+ require 'sportdb/models/models/round'
32
+ require 'sportdb/models/models/season'
33
+ require 'sportdb/models/models/stage'
34
+ require 'sportdb/models/models/team'
96
35
 
97
- module SportDb
36
+ require 'sportdb/models/models/stats/alltime_standing'
37
+ require 'sportdb/models/models/stats/event_standing'
38
+ require 'sportdb/models/models/stats/group_standing'
98
39
 
99
- def self.test_data_path
100
- "#{root}/test/data"
101
- end
40
+ require 'sportdb/models/schema' # note: requires sportdb/models (include SportDB::Models)
41
+
42
+ require 'sportdb/models/utils' # e.g. MatchCursor
102
43
 
44
+ require 'sportdb/models/deleter'
45
+ require 'sportdb/models/stats'
103
46
 
104
47
 
48
+ module SportDb
49
+
105
50
  def self.create
106
51
  CreateDb.new.up
107
52
  ConfDb::Model::Prop.create!( key: 'db.schema.sport.version', value: VERSION )
@@ -117,52 +62,12 @@ module SportDb
117
62
  SportDb.create
118
63
  end
119
64
 
120
-
121
- def self.read_setup( setup, include_path )
122
- reader = Reader.new( include_path )
123
- reader.load_setup( setup )
124
- end
125
-
126
- def self.read_setup_from_zip( zip_name, setup, include_path, opts={} ) ## todo/check - use a better (shorter) name ??
127
- reader = ZipReader.new( zip_name, include_path, opts )
128
- reader.load_setup( setup )
129
- reader.close
130
- end
131
-
132
- def self.read_all( include_path ) # convenience helper
133
- read_setup( 'setups/all', include_path )
134
- end
135
-
136
- def self.read_builtin
137
- puts "!! WARN - deprecated SportDb.read_builtin call - remove!! no longer in use; will get removed soon"
138
- end
139
-
140
-
141
- # load built-in (that is, bundled within the gem) named plain text seeds
142
- # - pass in an array of pairs of event/seed names e.g.
143
- # [['at.2012/13', 'at/2012_13/bl'],
144
- # ['cl.2012/13', 'cl/2012_13/cl']] etc.
145
-
146
- def self.read( ary, include_path )
147
- reader = Reader.new( include_path )
148
- ## todo: check kind_of?( Array ) or kind_of?(String) to support array or string
149
- ary.each do |name|
150
- reader.load( name )
151
- end
152
- end
153
-
154
-
155
65
  # delete ALL records (use with care!)
156
66
  def self.delete!
157
67
  puts '*** deleting sport table records/data...'
158
68
  Deleter.new.run
159
69
  end # method delete!
160
70
 
161
- def self.update!
162
- puts '*** update event fixtures...'
163
- Updater.new.run
164
- end
165
-
166
71
 
167
72
  def self.tables
168
73
  Stats.new.tables
@@ -177,32 +82,36 @@ module SportDb
177
82
  ### change default to ./sport.db ?? why? why not?
178
83
  db = URI.parse( ENV['DATABASE_URL'] || 'sqlite3:///sport.db' )
179
84
 
180
- if db.scheme == 'postgres'
181
- config = {
182
- adapter: 'postgresql',
183
- host: db.host,
184
- port: db.port,
185
- username: db.user,
186
- password: db.password,
187
- database: db.path[1..-1],
188
- encoding: 'utf8'
189
- }
190
- else # assume sqlite3
191
- config = {
192
- adapter: db.scheme, # sqlite3
193
- database: db.path[1..-1] # sport.db (NB: cut off leading /, thus 1..-1)
194
- }
195
- end
85
+ config = if db.scheme == 'postgres'
86
+ { adapter: 'postgresql',
87
+ host: db.host,
88
+ port: db.port,
89
+ username: db.user,
90
+ password: db.password,
91
+ database: db.path[1..-1],
92
+ encoding: 'utf8'
93
+ }
94
+ else # assume sqlite3
95
+ { adapter: db.scheme, # sqlite3
96
+ database: db.path[1..-1] # sport.db (NB: cut off leading /, thus 1..-1)
97
+ }
98
+ end
99
+ else
100
+ ## note: for compatibility lets you also pass-in/use string keys
101
+ ## e.g. YAML.load uses/returns always string keys - always auto-convert to symbols
102
+ config = config.symbolize_keys
196
103
  end
197
104
 
105
+
106
+ ## todo/check/fix: move jruby "hack" to attic - why? why not?
198
107
  ## todo/check: use if defined?( JRUBY_VERSION ) instead ??
199
- if RUBY_PLATFORM =~ /java/ && config[:adapter] == 'sqlite3'
108
+ ## if RUBY_PLATFORM =~ /java/ && config[:adapter] == 'sqlite3'
200
109
  # quick hack for JRuby sqlite3 support via jdbc
201
- puts "jruby quick hack - adding jdbc libs for jruby sqlite3 database support"
202
- require 'jdbc/sqlite3'
203
- require 'active_record/connection_adapters/jdbc_adapter'
204
- require 'active_record/connection_adapters/jdbcsqlite3_adapter'
205
- end
110
+ ## puts "jruby quick hack - adding jdbc libs for jruby sqlite3 database support"
111
+ ## require 'jdbc/sqlite3'
112
+ ## require 'active_record/connection_adapters/jdbc_adapter'
113
+ ## require 'active_record/connection_adapters/jdbcsqlite3_adapter'
114
+ ## end
206
115
 
207
116
  puts "Connecting to db using settings: "
208
117
  pp config
@@ -210,8 +119,11 @@ module SportDb
210
119
  # ActiveRecord::Base.logger = Logger.new( STDOUT )
211
120
 
212
121
  ## if sqlite3 add (use) some pragmas for speedups
213
- if config[:adapter] == 'sqlite3'
214
- ## check/todo: if in memory e.g. ':memory:' no pragma needed!!
122
+ if config[:adapter] == 'sqlite3' &&
123
+ config[:database] != ':memory:'
124
+ ## note: if in memory database e.g. ':memory:' no pragma needed!!
125
+ ## try to speed up sqlite
126
+ ## see http://www.sqlite.org/pragma.html
215
127
  con = ActiveRecord::Base.connection
216
128
  con.execute( 'PRAGMA synchronous=OFF;' )
217
129
  con.execute( 'PRAGMA journal_mode=OFF;' )
@@ -221,24 +133,47 @@ module SportDb
221
133
 
222
134
 
223
135
  def self.setup_in_memory_db
224
-
225
136
  # Database Setup & Config
226
137
  ActiveRecord::Base.logger = Logger.new( STDOUT )
227
138
  ## ActiveRecord::Base.colorize_logging = false - no longer exists - check new api/config setting?
228
139
 
229
- self.connect( adapter: 'sqlite3',
230
- database: ':memory:' )
140
+ connect( adapter: 'sqlite3',
141
+ database: ':memory:' )
231
142
 
232
143
  ## build schema
233
- SportDb.create_all
234
-
235
- ## read builtins - why? why not?
236
- SportDb.read_builtin
144
+ create_all
237
145
  end # setup_in_memory_db (using SQLite :memory:)
238
146
 
239
147
 
240
148
  end # module SportDb
241
149
 
242
150
 
151
+
152
+ module SportDb
153
+ module Model
154
+ ##################
155
+ # add alias why? why not?
156
+ #
157
+ # more aliases to consider:
158
+ # - Tournament for Event?
159
+ # - Cup for League?
160
+ # - Roster for Lineup?
161
+ # - Stadium for Ground? - why? why not?
162
+
163
+
164
+ Competition = Event
165
+ Comp = Event
166
+
167
+ LineUp = Lineup
168
+ Squad = Lineup
169
+
170
+ Game = Match ## add (old) alias - why? why not?
171
+ end # module Model
172
+ end # module SportDb
173
+
174
+
175
+
243
176
  ## say hello
244
- puts SportDb.banner if defined?($RUBYLIBS_DEBUG) && $RUBYLIBS_DEBUG
177
+ puts SportDb::Module::Models.banner
178
+
179
+