sportdb 1.8.0 → 1.8.1
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.
- data/Manifest.txt +4 -7
- data/README.md +3 -3
- data/lib/sportdb.rb +12 -7
- data/lib/sportdb/data/models.rb +2 -2
- data/lib/sportdb/models/badge.rb +3 -2
- data/lib/sportdb/models/event.rb +2 -2
- data/lib/sportdb/models/event_team.rb +2 -2
- data/lib/sportdb/models/forward.rb +9 -9
- data/lib/sportdb/models/game.rb +14 -48
- data/lib/sportdb/models/goal.rb +2 -2
- data/lib/sportdb/models/group.rb +2 -2
- data/lib/sportdb/models/group_team.rb +2 -2
- data/lib/sportdb/models/league.rb +3 -3
- data/lib/sportdb/models/person.rb +6 -10
- data/lib/sportdb/models/race.rb +2 -2
- data/lib/sportdb/models/record.rb +2 -2
- data/lib/sportdb/models/roster.rb +4 -2
- data/lib/sportdb/models/round.rb +2 -2
- data/lib/sportdb/models/run.rb +2 -2
- data/lib/sportdb/models/season.rb +2 -2
- data/lib/sportdb/models/team.rb +4 -4
- data/lib/sportdb/models/track.rb +3 -3
- data/lib/sportdb/models/utils.rb +2 -2
- data/lib/sportdb/models/world/city.rb +12 -0
- data/lib/sportdb/models/{continent.rb → world/continent.rb} +2 -2
- data/lib/sportdb/models/world/country.rb +13 -0
- data/lib/sportdb/models/world/region.rb +12 -0
- data/lib/sportdb/version.rb +1 -1
- metadata +16 -19
- data/lib/sportdb/data/fixtures.rb +0 -205
- data/lib/sportdb/models/city.rb +0 -14
- data/lib/sportdb/models/country.rb +0 -18
- data/lib/sportdb/models/prop.rb +0 -7
- data/lib/sportdb/models/region.rb +0 -16
- data/tasks/test.rb +0 -163
data/Manifest.txt
CHANGED
|
@@ -13,15 +13,11 @@ lib/sportdb.rb
|
|
|
13
13
|
lib/sportdb/cli/main.rb
|
|
14
14
|
lib/sportdb/cli/opts.rb
|
|
15
15
|
lib/sportdb/console.rb
|
|
16
|
-
lib/sportdb/data/fixtures.rb
|
|
17
16
|
lib/sportdb/data/keys.rb
|
|
18
17
|
lib/sportdb/data/models.rb
|
|
19
18
|
lib/sportdb/deleter.rb
|
|
20
19
|
lib/sportdb/lang.rb
|
|
21
20
|
lib/sportdb/models/badge.rb
|
|
22
|
-
lib/sportdb/models/city.rb
|
|
23
|
-
lib/sportdb/models/continent.rb
|
|
24
|
-
lib/sportdb/models/country.rb
|
|
25
21
|
lib/sportdb/models/event.rb
|
|
26
22
|
lib/sportdb/models/event_team.rb
|
|
27
23
|
lib/sportdb/models/forward.rb
|
|
@@ -31,10 +27,8 @@ lib/sportdb/models/group.rb
|
|
|
31
27
|
lib/sportdb/models/group_team.rb
|
|
32
28
|
lib/sportdb/models/league.rb
|
|
33
29
|
lib/sportdb/models/person.rb
|
|
34
|
-
lib/sportdb/models/prop.rb
|
|
35
30
|
lib/sportdb/models/race.rb
|
|
36
31
|
lib/sportdb/models/record.rb
|
|
37
|
-
lib/sportdb/models/region.rb
|
|
38
32
|
lib/sportdb/models/roster.rb
|
|
39
33
|
lib/sportdb/models/round.rb
|
|
40
34
|
lib/sportdb/models/run.rb
|
|
@@ -42,6 +36,10 @@ lib/sportdb/models/season.rb
|
|
|
42
36
|
lib/sportdb/models/team.rb
|
|
43
37
|
lib/sportdb/models/track.rb
|
|
44
38
|
lib/sportdb/models/utils.rb
|
|
39
|
+
lib/sportdb/models/world/city.rb
|
|
40
|
+
lib/sportdb/models/world/continent.rb
|
|
41
|
+
lib/sportdb/models/world/country.rb
|
|
42
|
+
lib/sportdb/models/world/region.rb
|
|
45
43
|
lib/sportdb/reader.rb
|
|
46
44
|
lib/sportdb/schema.rb
|
|
47
45
|
lib/sportdb/service.rb
|
|
@@ -79,7 +77,6 @@ lib/sportdb/title.rb
|
|
|
79
77
|
lib/sportdb/updater.rb
|
|
80
78
|
lib/sportdb/utils.rb
|
|
81
79
|
lib/sportdb/version.rb
|
|
82
|
-
tasks/test.rb
|
|
83
80
|
test/helper.rb
|
|
84
81
|
test/test_changes.rb
|
|
85
82
|
test/test_cursor.rb
|
data/README.md
CHANGED
|
@@ -139,9 +139,9 @@ Just install the gem:
|
|
|
139
139
|
## Free Open Public Domain Datasets
|
|
140
140
|
|
|
141
141
|
- [`football.db`](https://github.com/openfootball) - free open public domain football (soccer) data for use in any (programming) language
|
|
142
|
-
- [`formula1.db`](https://github.com/
|
|
143
|
-
- [`ski.db`](https://github.com/
|
|
144
|
-
- [`
|
|
142
|
+
- [`formula1.db`](https://github.com/opensport/formula1.db) - free open public domain Formula 1/Formula One data for use in any (programming) language
|
|
143
|
+
- [`ski.db`](https://github.com/opensport/ski.db) - free open public domain Ski Alpin/Alpine Ski data for use in any (programming) language
|
|
144
|
+
- [`american-football.db`](https://github.com/opensport/american-football.db) - free open public domain American Football data for use in any (programming) language
|
|
145
145
|
|
|
146
146
|
|
|
147
147
|
## License
|
data/lib/sportdb.rb
CHANGED
|
@@ -31,10 +31,11 @@ require 'sportdb/version'
|
|
|
31
31
|
|
|
32
32
|
require 'sportdb/title' ## fix - move to textutils gem
|
|
33
33
|
require 'sportdb/models/forward'
|
|
34
|
+
require 'sportdb/models/world/city'
|
|
35
|
+
require 'sportdb/models/world/country'
|
|
36
|
+
require 'sportdb/models/world/continent'
|
|
37
|
+
require 'sportdb/models/world/region'
|
|
34
38
|
require 'sportdb/models/badge'
|
|
35
|
-
require 'sportdb/models/city'
|
|
36
|
-
require 'sportdb/models/country'
|
|
37
|
-
require 'sportdb/models/continent'
|
|
38
39
|
require 'sportdb/models/event'
|
|
39
40
|
require 'sportdb/models/event_team'
|
|
40
41
|
require 'sportdb/models/game'
|
|
@@ -43,10 +44,8 @@ require 'sportdb/models/group'
|
|
|
43
44
|
require 'sportdb/models/group_team'
|
|
44
45
|
require 'sportdb/models/league'
|
|
45
46
|
require 'sportdb/models/person'
|
|
46
|
-
require 'sportdb/models/prop'
|
|
47
47
|
require 'sportdb/models/race'
|
|
48
48
|
require 'sportdb/models/record'
|
|
49
|
-
require 'sportdb/models/region'
|
|
50
49
|
require 'sportdb/models/roster'
|
|
51
50
|
require 'sportdb/models/round'
|
|
52
51
|
require 'sportdb/models/run'
|
|
@@ -54,6 +53,13 @@ require 'sportdb/models/season'
|
|
|
54
53
|
require 'sportdb/models/team'
|
|
55
54
|
require 'sportdb/models/track'
|
|
56
55
|
require 'sportdb/models/utils' # e.g. GameCursor
|
|
56
|
+
|
|
57
|
+
## add backwards compatible namespace (delete later!)
|
|
58
|
+
module SportDb
|
|
59
|
+
Models = Model
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
|
|
57
63
|
require 'sportdb/schema' # NB: requires sportdb/models (include SportDB::Models)
|
|
58
64
|
require 'sportdb/utils'
|
|
59
65
|
require 'sportdb/reader'
|
|
@@ -72,7 +78,6 @@ require 'sportdb/stats'
|
|
|
72
78
|
# todo/fix => remove from here and move into console.rb and tasks.rb
|
|
73
79
|
|
|
74
80
|
require 'sportdb/data/keys'
|
|
75
|
-
require 'sportdb/data/fixtures'
|
|
76
81
|
require 'sportdb/data/models' # add convenience finders for known fixtures
|
|
77
82
|
|
|
78
83
|
|
|
@@ -114,7 +119,7 @@ module SportDb
|
|
|
114
119
|
|
|
115
120
|
def self.create
|
|
116
121
|
CreateDb.new.up
|
|
117
|
-
WorldDb::
|
|
122
|
+
WorldDb::Model::Prop.create!( key: 'db.schema.sport.version', value: VERSION )
|
|
118
123
|
end
|
|
119
124
|
|
|
120
125
|
def self.read_setup( setup, include_path )
|
data/lib/sportdb/data/models.rb
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# encoding: utf-8
|
|
2
2
|
|
|
3
|
-
module SportDb::
|
|
3
|
+
module SportDb::Model
|
|
4
4
|
|
|
5
5
|
## add convenience finders to some model classes
|
|
6
6
|
|
|
@@ -38,6 +38,6 @@ module SportDb::Models
|
|
|
38
38
|
|
|
39
39
|
end # class Event
|
|
40
40
|
|
|
41
|
-
end # module SportDb::
|
|
41
|
+
end # module SportDb::Model
|
|
42
42
|
|
|
43
43
|
|
data/lib/sportdb/models/badge.rb
CHANGED
data/lib/sportdb/models/event.rb
CHANGED
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
### forward references
|
|
3
3
|
## require first to resolve circular references
|
|
4
4
|
|
|
5
|
-
module SportDb::
|
|
5
|
+
module SportDb::Model
|
|
6
6
|
|
|
7
7
|
## todo: why? why not use include WorldDb::Models here???
|
|
8
8
|
|
|
9
|
-
Continent = WorldDb::
|
|
10
|
-
Country = WorldDb::
|
|
11
|
-
Region = WorldDb::
|
|
12
|
-
City = WorldDb::
|
|
13
|
-
Prop = WorldDb::
|
|
9
|
+
Continent = WorldDb::Model::Continent
|
|
10
|
+
Country = WorldDb::Model::Country
|
|
11
|
+
Region = WorldDb::Model::Region
|
|
12
|
+
City = WorldDb::Model::City
|
|
13
|
+
Prop = WorldDb::Model::Prop
|
|
14
14
|
|
|
15
15
|
## nb: for now only team and league use worlddb tables
|
|
16
16
|
# e.g. with belongs_to assoc (country,region)
|
|
@@ -21,12 +21,12 @@ module SportDb::Models
|
|
|
21
21
|
end
|
|
22
22
|
|
|
23
23
|
|
|
24
|
-
module WorldDb::
|
|
24
|
+
module WorldDb::Model
|
|
25
25
|
|
|
26
26
|
# add alias? why? why not? # is there a better way?
|
|
27
27
|
# - just include SportDb::Models - why? why not?
|
|
28
28
|
# - just include once in loader??
|
|
29
|
-
Team = SportDb::
|
|
30
|
-
League = SportDb::
|
|
29
|
+
Team = SportDb::Model::Team
|
|
30
|
+
League = SportDb::Model::League
|
|
31
31
|
|
|
32
32
|
end
|
data/lib/sportdb/models/game.rb
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
module SportDb::
|
|
1
|
+
module SportDb::Model
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
class Game < ActiveRecord::Base
|
|
@@ -86,53 +86,19 @@ class Game < ActiveRecord::Base
|
|
|
86
86
|
|
|
87
87
|
### getter/setters for deprecated attribs (score3,4,5,6) n national
|
|
88
88
|
|
|
89
|
-
def score3
|
|
90
|
-
|
|
91
|
-
end
|
|
92
|
-
|
|
93
|
-
def
|
|
94
|
-
|
|
95
|
-
end
|
|
96
|
-
|
|
97
|
-
def score1ot
|
|
98
|
-
score1et
|
|
99
|
-
end
|
|
100
|
-
|
|
101
|
-
def score2ot
|
|
102
|
-
score2et
|
|
103
|
-
end
|
|
104
|
-
|
|
105
|
-
def score5
|
|
106
|
-
score1p
|
|
107
|
-
end
|
|
108
|
-
|
|
109
|
-
def score6
|
|
110
|
-
score2p
|
|
111
|
-
end
|
|
89
|
+
def score3() score1et end
|
|
90
|
+
def score4() score2et end
|
|
91
|
+
def score1ot() score1et end
|
|
92
|
+
def score2ot() score2et end
|
|
93
|
+
def score5() score1p end
|
|
94
|
+
def score6() score2p end
|
|
112
95
|
|
|
113
|
-
def score3=(value)
|
|
114
|
-
|
|
115
|
-
end
|
|
116
|
-
|
|
117
|
-
def
|
|
118
|
-
|
|
119
|
-
end
|
|
120
|
-
|
|
121
|
-
def score1ot=(value)
|
|
122
|
-
self.score1et = value
|
|
123
|
-
end
|
|
124
|
-
|
|
125
|
-
def score2ot=(value)
|
|
126
|
-
self.score2et = value
|
|
127
|
-
end
|
|
128
|
-
|
|
129
|
-
def score5=(value)
|
|
130
|
-
self.score1p = value
|
|
131
|
-
end
|
|
132
|
-
|
|
133
|
-
def score6=(value)
|
|
134
|
-
self.score2p = value
|
|
135
|
-
end
|
|
96
|
+
def score3=(value) self.score1et = value end
|
|
97
|
+
def score4=(value) self.score2et = value end
|
|
98
|
+
def score1ot=(value) self.score1et = value end
|
|
99
|
+
def score2ot=(value) self.score2et = value end
|
|
100
|
+
def score5=(value) self.score1p = value end
|
|
101
|
+
def score6=(value) self.score2p = value end
|
|
136
102
|
|
|
137
103
|
|
|
138
104
|
|
|
@@ -391,4 +357,4 @@ class Game < ActiveRecord::Base
|
|
|
391
357
|
end # class Game
|
|
392
358
|
|
|
393
359
|
|
|
394
|
-
end # module SportDb::
|
|
360
|
+
end # module SportDb::Model
|
data/lib/sportdb/models/goal.rb
CHANGED
data/lib/sportdb/models/group.rb
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
module SportDb::
|
|
1
|
+
module SportDb::Model
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
class League < ActiveRecord::Base
|
|
@@ -10,7 +10,7 @@ class League < ActiveRecord::Base
|
|
|
10
10
|
has_many :events
|
|
11
11
|
has_many :seasons, :through => :events
|
|
12
12
|
|
|
13
|
-
belongs_to :country, :class_name => 'WorldDb::
|
|
13
|
+
belongs_to :country, :class_name => 'WorldDb::Model::Country', :foreign_key => 'country_id'
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
def self.create_or_update_from_values( new_attributes, values )
|
|
@@ -78,4 +78,4 @@ class League < ActiveRecord::Base
|
|
|
78
78
|
end # class League
|
|
79
79
|
|
|
80
80
|
|
|
81
|
-
end # module SportDb::
|
|
81
|
+
end # module SportDb::Model
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
module SportDb::
|
|
1
|
+
module SportDb::Model
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
class Person < ActiveRecord::Base
|
|
@@ -6,16 +6,11 @@ class Person < ActiveRecord::Base
|
|
|
6
6
|
|
|
7
7
|
has_many :goals
|
|
8
8
|
|
|
9
|
-
belongs_to :country, :class_name => 'WorldDb::
|
|
9
|
+
belongs_to :country, :class_name => 'WorldDb::Model::Country', :foreign_key => 'country_id'
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
def title
|
|
13
|
-
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
def title=(value) # alias for name
|
|
17
|
-
self.name = value
|
|
18
|
-
end
|
|
12
|
+
def title() name end # alias for name
|
|
13
|
+
def title=(value) self.name = value end # alias for name
|
|
19
14
|
|
|
20
15
|
|
|
21
16
|
def self.create_or_update_from_values( new_attributes, values )
|
|
@@ -67,4 +62,5 @@ class Person < ActiveRecord::Base
|
|
|
67
62
|
end # class Person
|
|
68
63
|
|
|
69
64
|
|
|
70
|
-
end # module SportDb::
|
|
65
|
+
end # module SportDb::Model
|
|
66
|
+
|
data/lib/sportdb/models/race.rb
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
module SportDb::
|
|
1
|
+
module SportDb::Model
|
|
2
|
+
|
|
3
|
+
### use LineUp, Squad for name? - alias??
|
|
2
4
|
|
|
3
5
|
class Roster < ActiveRecord::Base
|
|
4
6
|
|
|
@@ -9,4 +11,4 @@ class Roster < ActiveRecord::Base
|
|
|
9
11
|
end # class Roster
|
|
10
12
|
|
|
11
13
|
|
|
12
|
-
end # module SportDb::
|
|
14
|
+
end # module SportDb::Model
|
data/lib/sportdb/models/round.rb
CHANGED
data/lib/sportdb/models/run.rb
CHANGED
data/lib/sportdb/models/team.rb
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
module SportDb::
|
|
1
|
+
module SportDb::Model
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
class Team < ActiveRecord::Base
|
|
@@ -32,8 +32,8 @@ class Team < ActiveRecord::Base
|
|
|
32
32
|
|
|
33
33
|
has_many :badges # Winner, 2nd, Cupsieger, Aufsteiger, Absteiger, etc.
|
|
34
34
|
|
|
35
|
-
belongs_to :country, :class_name => 'WorldDb::
|
|
36
|
-
belongs_to :city, :class_name => 'WorldDb::
|
|
35
|
+
belongs_to :country, :class_name => 'WorldDb::Model::Country', :foreign_key => 'country_id'
|
|
36
|
+
belongs_to :city, :class_name => 'WorldDb::Model::City', :foreign_key => 'city_id'
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
|
|
@@ -129,4 +129,4 @@ class Team < ActiveRecord::Base
|
|
|
129
129
|
end # class Team
|
|
130
130
|
|
|
131
131
|
|
|
132
|
-
end # module SportDb::
|
|
132
|
+
end # module SportDb::Model
|
data/lib/sportdb/models/track.rb
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
module SportDb::
|
|
1
|
+
module SportDb::Model
|
|
2
2
|
|
|
3
3
|
class Track < ActiveRecord::Base
|
|
4
4
|
|
|
5
5
|
has_many :races
|
|
6
6
|
|
|
7
|
-
belongs_to :country, :class_name => 'WorldDb::
|
|
7
|
+
belongs_to :country, :class_name => 'WorldDb::Model::Country', :foreign_key => 'country_id'
|
|
8
8
|
|
|
9
9
|
#####################
|
|
10
10
|
## convenience helper for text parser/reader
|
|
@@ -55,4 +55,4 @@ class Track < ActiveRecord::Base
|
|
|
55
55
|
end # class Track
|
|
56
56
|
|
|
57
57
|
|
|
58
|
-
end # module SportDb::
|
|
58
|
+
end # module SportDb::Model
|
data/lib/sportdb/models/utils.rb
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# encoding: utf-8
|
|
2
2
|
|
|
3
|
-
module WorldDb::
|
|
3
|
+
module WorldDb::Model
|
|
4
4
|
|
|
5
5
|
class Continent
|
|
6
6
|
has_many :teams, :through => :countries
|
|
7
7
|
has_many :leagues, :through => :countries
|
|
8
8
|
end # class Continent
|
|
9
9
|
|
|
10
|
-
end # module WorldDb::
|
|
10
|
+
end # module WorldDb::Model
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
## todo: how to best extends country model?
|
|
4
|
+
|
|
5
|
+
module WorldDb::Model
|
|
6
|
+
|
|
7
|
+
class Country
|
|
8
|
+
has_many :teams, class_name: 'SportDb::Model::Team', foreign_key: 'country_id'
|
|
9
|
+
has_many :leagues, class_name: 'SportDb::Model::League', foreign_key: 'country_id'
|
|
10
|
+
end # class Country
|
|
11
|
+
|
|
12
|
+
end # module WorldDb::Model
|
|
13
|
+
|
data/lib/sportdb/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: sportdb
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.8.
|
|
4
|
+
version: 1.8.1
|
|
5
5
|
prerelease:
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -9,11 +9,11 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2014-
|
|
12
|
+
date: 2014-02-09 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: worlddb
|
|
16
|
-
requirement: &
|
|
16
|
+
requirement: &20011296 !ruby/object:Gem::Requirement
|
|
17
17
|
none: false
|
|
18
18
|
requirements:
|
|
19
19
|
- - ! '>='
|
|
@@ -21,10 +21,10 @@ dependencies:
|
|
|
21
21
|
version: '1.7'
|
|
22
22
|
type: :runtime
|
|
23
23
|
prerelease: false
|
|
24
|
-
version_requirements: *
|
|
24
|
+
version_requirements: *20011296
|
|
25
25
|
- !ruby/object:Gem::Dependency
|
|
26
26
|
name: fetcher
|
|
27
|
-
requirement: &
|
|
27
|
+
requirement: &20009076 !ruby/object:Gem::Requirement
|
|
28
28
|
none: false
|
|
29
29
|
requirements:
|
|
30
30
|
- - ! '>='
|
|
@@ -32,10 +32,10 @@ dependencies:
|
|
|
32
32
|
version: '0.3'
|
|
33
33
|
type: :runtime
|
|
34
34
|
prerelease: false
|
|
35
|
-
version_requirements: *
|
|
35
|
+
version_requirements: *20009076
|
|
36
36
|
- !ruby/object:Gem::Dependency
|
|
37
37
|
name: gli
|
|
38
|
-
requirement: &
|
|
38
|
+
requirement: &20104680 !ruby/object:Gem::Requirement
|
|
39
39
|
none: false
|
|
40
40
|
requirements:
|
|
41
41
|
- - ! '>='
|
|
@@ -43,10 +43,10 @@ dependencies:
|
|
|
43
43
|
version: 2.5.6
|
|
44
44
|
type: :runtime
|
|
45
45
|
prerelease: false
|
|
46
|
-
version_requirements: *
|
|
46
|
+
version_requirements: *20104680
|
|
47
47
|
- !ruby/object:Gem::Dependency
|
|
48
48
|
name: rdoc
|
|
49
|
-
requirement: &
|
|
49
|
+
requirement: &20102280 !ruby/object:Gem::Requirement
|
|
50
50
|
none: false
|
|
51
51
|
requirements:
|
|
52
52
|
- - ~>
|
|
@@ -54,10 +54,10 @@ dependencies:
|
|
|
54
54
|
version: '4.0'
|
|
55
55
|
type: :development
|
|
56
56
|
prerelease: false
|
|
57
|
-
version_requirements: *
|
|
57
|
+
version_requirements: *20102280
|
|
58
58
|
- !ruby/object:Gem::Dependency
|
|
59
59
|
name: hoe
|
|
60
|
-
requirement: &
|
|
60
|
+
requirement: &20099184 !ruby/object:Gem::Requirement
|
|
61
61
|
none: false
|
|
62
62
|
requirements:
|
|
63
63
|
- - ~>
|
|
@@ -65,7 +65,7 @@ dependencies:
|
|
|
65
65
|
version: '3.7'
|
|
66
66
|
type: :development
|
|
67
67
|
prerelease: false
|
|
68
|
-
version_requirements: *
|
|
68
|
+
version_requirements: *20099184
|
|
69
69
|
description: sportdb - sport.db command line tool
|
|
70
70
|
email: opensport@googlegroups.com
|
|
71
71
|
executables:
|
|
@@ -91,15 +91,11 @@ files:
|
|
|
91
91
|
- lib/sportdb/cli/main.rb
|
|
92
92
|
- lib/sportdb/cli/opts.rb
|
|
93
93
|
- lib/sportdb/console.rb
|
|
94
|
-
- lib/sportdb/data/fixtures.rb
|
|
95
94
|
- lib/sportdb/data/keys.rb
|
|
96
95
|
- lib/sportdb/data/models.rb
|
|
97
96
|
- lib/sportdb/deleter.rb
|
|
98
97
|
- lib/sportdb/lang.rb
|
|
99
98
|
- lib/sportdb/models/badge.rb
|
|
100
|
-
- lib/sportdb/models/city.rb
|
|
101
|
-
- lib/sportdb/models/continent.rb
|
|
102
|
-
- lib/sportdb/models/country.rb
|
|
103
99
|
- lib/sportdb/models/event.rb
|
|
104
100
|
- lib/sportdb/models/event_team.rb
|
|
105
101
|
- lib/sportdb/models/forward.rb
|
|
@@ -109,10 +105,8 @@ files:
|
|
|
109
105
|
- lib/sportdb/models/group_team.rb
|
|
110
106
|
- lib/sportdb/models/league.rb
|
|
111
107
|
- lib/sportdb/models/person.rb
|
|
112
|
-
- lib/sportdb/models/prop.rb
|
|
113
108
|
- lib/sportdb/models/race.rb
|
|
114
109
|
- lib/sportdb/models/record.rb
|
|
115
|
-
- lib/sportdb/models/region.rb
|
|
116
110
|
- lib/sportdb/models/roster.rb
|
|
117
111
|
- lib/sportdb/models/round.rb
|
|
118
112
|
- lib/sportdb/models/run.rb
|
|
@@ -120,6 +114,10 @@ files:
|
|
|
120
114
|
- lib/sportdb/models/team.rb
|
|
121
115
|
- lib/sportdb/models/track.rb
|
|
122
116
|
- lib/sportdb/models/utils.rb
|
|
117
|
+
- lib/sportdb/models/world/city.rb
|
|
118
|
+
- lib/sportdb/models/world/continent.rb
|
|
119
|
+
- lib/sportdb/models/world/country.rb
|
|
120
|
+
- lib/sportdb/models/world/region.rb
|
|
123
121
|
- lib/sportdb/reader.rb
|
|
124
122
|
- lib/sportdb/schema.rb
|
|
125
123
|
- lib/sportdb/service.rb
|
|
@@ -157,7 +155,6 @@ files:
|
|
|
157
155
|
- lib/sportdb/updater.rb
|
|
158
156
|
- lib/sportdb/utils.rb
|
|
159
157
|
- lib/sportdb/version.rb
|
|
160
|
-
- tasks/test.rb
|
|
161
158
|
- test/helper.rb
|
|
162
159
|
- test/test_changes.rb
|
|
163
160
|
- test/test_cursor.rb
|
|
@@ -1,205 +0,0 @@
|
|
|
1
|
-
# encoding: utf-8
|
|
2
|
-
|
|
3
|
-
def find_football_db_path_from_gemfile_gitref!
|
|
4
|
-
puts "[debug] find_football_db_path..."
|
|
5
|
-
puts "load path:"
|
|
6
|
-
pp $LOAD_PATH
|
|
7
|
-
|
|
8
|
-
candidates = []
|
|
9
|
-
$LOAD_PATH.each do |path|
|
|
10
|
-
if path =~ /\/(football\.db-[a-z0-9]+)|(football\.db)\//
|
|
11
|
-
candidates << path.dup
|
|
12
|
-
end
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
puts "found candidates:"
|
|
16
|
-
pp candidates
|
|
17
|
-
|
|
18
|
-
## cut-off everything after /football.db
|
|
19
|
-
# e.g. lib/ruby/gems/1.9.1/bundler/gems/football.db-38279c414449/lib becomes
|
|
20
|
-
# lib/ruby/gems/1.9.1/bundler/gems/football.db-38279c414449
|
|
21
|
-
|
|
22
|
-
cand = candidates[0]
|
|
23
|
-
|
|
24
|
-
puts "cand before: #{cand}"
|
|
25
|
-
|
|
26
|
-
## nb: *? is non-greedy many operator
|
|
27
|
-
|
|
28
|
-
## todo: why not just cut off trailing /lib - is it good enough??
|
|
29
|
-
# it's easier
|
|
30
|
-
|
|
31
|
-
regex = /(\/football\.db.*?)(\/.*)/
|
|
32
|
-
cand = cand.sub( regex ) do |_|
|
|
33
|
-
puts "cutting off >>#{$2}<<"
|
|
34
|
-
$1
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
puts "cand after: #{cand}"
|
|
38
|
-
|
|
39
|
-
## todo:exit with error if not found!!!
|
|
40
|
-
|
|
41
|
-
cand
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
module SportDb
|
|
47
|
-
|
|
48
|
-
module Fixtures # use shortcut/alias Fx?
|
|
49
|
-
|
|
50
|
-
## todo/ check: remove _FIXTURES and use module namespace instead?
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
SEASONS = [
|
|
54
|
-
'seasons'
|
|
55
|
-
]
|
|
56
|
-
|
|
57
|
-
LEAGUES = [
|
|
58
|
-
'leagues',
|
|
59
|
-
'leagues_club'
|
|
60
|
-
]
|
|
61
|
-
|
|
62
|
-
## todo/check: put teams into its own module/namespace (remove _TEAMS?)
|
|
63
|
-
EUROPE_TEAMS = [
|
|
64
|
-
'europe/teams'
|
|
65
|
-
]
|
|
66
|
-
|
|
67
|
-
## NB: copa america requires jpn as team invitee (from asia)
|
|
68
|
-
AMERICA_TEAMS = [
|
|
69
|
-
'world/teams',
|
|
70
|
-
'america/teams'
|
|
71
|
-
]
|
|
72
|
-
|
|
73
|
-
WORLD_TEAMS = [
|
|
74
|
-
'world/teams',
|
|
75
|
-
'america/teams',
|
|
76
|
-
'europe/teams'
|
|
77
|
-
]
|
|
78
|
-
|
|
79
|
-
AT_TEAMS = [ 'at/teams', 'at/teams2' ]
|
|
80
|
-
DE_TEAMS = [ 'de/teams' ]
|
|
81
|
-
EN_TEAMS = [ 'en/teams' ]
|
|
82
|
-
ES_TEAMS = [ 'es/teams' ]
|
|
83
|
-
FR_TEAMS = [ 'fr/teams' ]
|
|
84
|
-
IT_TEAMS = [ 'it/teams' ]
|
|
85
|
-
RO_TEAMS = [ 'ro/teams' ]
|
|
86
|
-
|
|
87
|
-
CLUB_EUROPE_TEAMS =
|
|
88
|
-
AT_TEAMS +
|
|
89
|
-
DE_TEAMS +
|
|
90
|
-
EN_TEAMS +
|
|
91
|
-
ES_TEAMS +
|
|
92
|
-
FR_TEAMS +
|
|
93
|
-
IT_TEAMS +
|
|
94
|
-
RO_TEAMS +
|
|
95
|
-
[
|
|
96
|
-
'club/europe/teams'
|
|
97
|
-
]
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
AR_TEAMS = [ 'ar/teams' ]
|
|
101
|
-
BR_TEAMS = [ 'br/teams' ]
|
|
102
|
-
MX_TEAMS = [ 'mx/teams' ]
|
|
103
|
-
|
|
104
|
-
CLUB_AMERICA_TEAMS =
|
|
105
|
-
AR_TEAMS +
|
|
106
|
-
BR_TEAMS +
|
|
107
|
-
MX_TEAMS +
|
|
108
|
-
[
|
|
109
|
-
'america/teams_c',
|
|
110
|
-
'america/teams_n',
|
|
111
|
-
'america/teams_s',
|
|
112
|
-
]
|
|
113
|
-
|
|
114
|
-
AR_FIXTURES = []
|
|
115
|
-
|
|
116
|
-
### todo: ? get event_key automatically from event_reader ?? why? why not??
|
|
117
|
-
BR_FIXTURES = [
|
|
118
|
-
'br/2013/cb'
|
|
119
|
-
]
|
|
120
|
-
|
|
121
|
-
MX_FIXTURES = [
|
|
122
|
-
'mx/2012/apertura',
|
|
123
|
-
'mx/2013/clausura'
|
|
124
|
-
]
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
AT_FIXTURES = [
|
|
128
|
-
'at/2011_12/bl',
|
|
129
|
-
'at/2011_12/cup',
|
|
130
|
-
'at/2012_13/bl',
|
|
131
|
-
'at/2012_13/cup'
|
|
132
|
-
]
|
|
133
|
-
|
|
134
|
-
DE_FIXTURES = [
|
|
135
|
-
'de/2012_13/bl'
|
|
136
|
-
]
|
|
137
|
-
|
|
138
|
-
EN_FIXTURES = [
|
|
139
|
-
'en/2012_13/pl'
|
|
140
|
-
]
|
|
141
|
-
|
|
142
|
-
RO_FIXTURES = [
|
|
143
|
-
'ro/2012_13/l1'
|
|
144
|
-
]
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
EUROPE_FIXTURES = [
|
|
148
|
-
'euro-cup!/2008/euro',
|
|
149
|
-
'euro-cup!/2012/euro'
|
|
150
|
-
]
|
|
151
|
-
|
|
152
|
-
AMERICA_FIXTURES = [
|
|
153
|
-
'america/2011/copa',
|
|
154
|
-
'america/2011/gold',
|
|
155
|
-
'america/2013/gold',
|
|
156
|
-
'america/2015/copa'
|
|
157
|
-
]
|
|
158
|
-
|
|
159
|
-
WORLD_FIXTURES = [
|
|
160
|
-
'world/2009/conf',
|
|
161
|
-
'world/2010/cup',
|
|
162
|
-
'world/2014/quali_america',
|
|
163
|
-
'world/2014/quali_europe_c',
|
|
164
|
-
'world/2014/quali_europe',
|
|
165
|
-
'world/2014/cup'
|
|
166
|
-
]
|
|
167
|
-
|
|
168
|
-
CLUB_EUROPE_FIXTURES = [
|
|
169
|
-
'club/europe/2011_12/cl',
|
|
170
|
-
'club/europe/2011_12/el',
|
|
171
|
-
'club/europe/2012_13/cl',
|
|
172
|
-
'club/europe/2012_13/el'
|
|
173
|
-
]
|
|
174
|
-
|
|
175
|
-
CLUB_AMERICA_FIXTURES = [
|
|
176
|
-
'club/america/2011_12/cl',
|
|
177
|
-
'club/america/2012/libertadores',
|
|
178
|
-
'club/america/2012/sud',
|
|
179
|
-
'club/america/2012_13/cl',
|
|
180
|
-
'club/america/2013/libertadores'
|
|
181
|
-
]
|
|
182
|
-
|
|
183
|
-
def self.all
|
|
184
|
-
SEASONS +
|
|
185
|
-
LEAGUES +
|
|
186
|
-
CLUB_AMERICA_TEAMS +
|
|
187
|
-
AR_FIXTURES +
|
|
188
|
-
BR_FIXTURES +
|
|
189
|
-
MX_FIXTURES +
|
|
190
|
-
CLUB_AMERICA_FIXTURES +
|
|
191
|
-
CLUB_EUROPE_TEAMS +
|
|
192
|
-
AT_FIXTURES +
|
|
193
|
-
DE_FIXTURES +
|
|
194
|
-
EN_FIXTURES +
|
|
195
|
-
RO_FIXTURES +
|
|
196
|
-
CLUB_EUROPE_FIXTURES +
|
|
197
|
-
WORLD_TEAMS +
|
|
198
|
-
AMERICA_FIXTURES +
|
|
199
|
-
EUROPE_FIXTURES +
|
|
200
|
-
WORLD_FIXTURES
|
|
201
|
-
end # method all
|
|
202
|
-
|
|
203
|
-
end # module Fixtures
|
|
204
|
-
|
|
205
|
-
end # module SportDb
|
data/lib/sportdb/models/city.rb
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
## todo: how to best extends city model?
|
|
3
|
-
|
|
4
|
-
module WorldDb::Models
|
|
5
|
-
class City
|
|
6
|
-
has_many :teams, :class_name => 'SportDb::Models::Team', :foreign_key => 'city_id'
|
|
7
|
-
end
|
|
8
|
-
end # module WorldDb::Models
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
## moved to models/forward
|
|
12
|
-
# module SportDb::Models
|
|
13
|
-
# City = WorldDb::Models::City
|
|
14
|
-
# end # module SportDb::Models
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
# encoding: utf-8
|
|
2
|
-
|
|
3
|
-
## todo: how to best extends country model?
|
|
4
|
-
|
|
5
|
-
module WorldDb::Models
|
|
6
|
-
|
|
7
|
-
class Country
|
|
8
|
-
has_many :teams, :class_name => 'SportDb::Models::Team', :foreign_key => 'country_id'
|
|
9
|
-
has_many :leagues, :class_name => 'SportDb::Models::League', :foreign_key => 'country_id'
|
|
10
|
-
end # class Country
|
|
11
|
-
|
|
12
|
-
end # module WorldDb::Models
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
## moved to models/forward
|
|
16
|
-
# module SportDb::Models
|
|
17
|
-
# Country = WorldDb::Models::Country
|
|
18
|
-
# end # module SportDb::Models
|
data/lib/sportdb/models/prop.rb
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
# encoding: utf-8
|
|
2
|
-
|
|
3
|
-
## todo: how to best extends country model?
|
|
4
|
-
|
|
5
|
-
module WorldDb::Models
|
|
6
|
-
|
|
7
|
-
class Region
|
|
8
|
-
has_many :teams, :class_name => 'SportDb::Models::Team', :through => :cities
|
|
9
|
-
end # class Region
|
|
10
|
-
|
|
11
|
-
end # module WorldDb::Models
|
|
12
|
-
|
|
13
|
-
## moved to models/forward
|
|
14
|
-
# module SportDb::Models
|
|
15
|
-
# Region = WorldDb::Models::Region
|
|
16
|
-
# end # module SportDb::Models
|
data/tasks/test.rb
DELETED
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
#########################
|
|
3
|
-
# Fill up sport.db w/ football.db fixtures
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
##############################
|
|
7
|
-
## for testing
|
|
8
|
-
##
|
|
9
|
-
## NB: use
|
|
10
|
-
# rake -I ../world.db.ruby/lib -I ../sport.db.ruby/lib update
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
include SportDB::Fixtures # include fixture constants like WORLD_FIXTURES, EN_FIXTURES etc.
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
##########
|
|
17
|
-
# TODO: configure - copy to your rake file
|
|
18
|
-
|
|
19
|
-
# INCLUDE_PATH = "../football.db"
|
|
20
|
-
|
|
21
|
-
# BUILD_DIR = "./db"
|
|
22
|
-
|
|
23
|
-
# SPORT_DB_PATH = "#{BUILD_DIR}/sport.db"
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
################
|
|
27
|
-
|
|
28
|
-
DB_CONFIG = {
|
|
29
|
-
:adapter => 'sqlite3',
|
|
30
|
-
:database => SPORT_DB_PATH
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
directory BUILD_DIR
|
|
34
|
-
|
|
35
|
-
# task :clean do
|
|
36
|
-
# rm SPORT_DB_PATH if File.exists?( SPORT_DB_PATH )
|
|
37
|
-
# end
|
|
38
|
-
|
|
39
|
-
task :env => BUILD_DIR do
|
|
40
|
-
pp DB_CONFIG
|
|
41
|
-
ActiveRecord::Base.establish_connection( DB_CONFIG )
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
# task :create => :env do
|
|
45
|
-
# WorldDB.create
|
|
46
|
-
# end
|
|
47
|
-
|
|
48
|
-
task :import => :env do
|
|
49
|
-
reader = SportDB::Reader.new
|
|
50
|
-
|
|
51
|
-
reader.load_seasons_with_include_path( 'seasons', INCLUDE_PATH )
|
|
52
|
-
|
|
53
|
-
reader.load_leagues_with_include_path( 'leagues', INCLUDE_PATH )
|
|
54
|
-
reader.load_leagues_with_include_path( 'leagues_club', INCLUDE_PATH, { club: true } )
|
|
55
|
-
end
|
|
56
|
-
|
|
57
|
-
### club europe (cl,el)
|
|
58
|
-
task :club_europe => [:import] do
|
|
59
|
-
import_fixtures( CLUB_EUROPE_TEAMS, CLUB_EUROPE_FIXTURES )
|
|
60
|
-
end
|
|
61
|
-
|
|
62
|
-
### club america
|
|
63
|
-
task :club_america => [:import] do
|
|
64
|
-
import_fixtures( CLUB_AMERICA_TEAMS, CLUB_AMERICA_FIXTURES )
|
|
65
|
-
end
|
|
66
|
-
|
|
67
|
-
task :europe => [:import] do
|
|
68
|
-
import_fixtures( EUROPE_TEAMS, EUROPE_FIXTURES )
|
|
69
|
-
end
|
|
70
|
-
|
|
71
|
-
task :america => [:import] do
|
|
72
|
-
import_fixtures( AMERICA_TEAMS, AMERICA_FIXTURES )
|
|
73
|
-
end
|
|
74
|
-
|
|
75
|
-
task :world => [:import] do
|
|
76
|
-
import_fixtures( WORLD_TEAMS, WORLD_FIXTURES )
|
|
77
|
-
end
|
|
78
|
-
|
|
79
|
-
### ar - Argentina
|
|
80
|
-
task :ar => [:import] do
|
|
81
|
-
import_fixtures( AR_TEAMS, AR_FIXTURES )
|
|
82
|
-
end
|
|
83
|
-
|
|
84
|
-
### br - Brasil
|
|
85
|
-
task :br => [:import] do
|
|
86
|
-
import_fixtures( BR_TEAMS, BR_FIXTURES )
|
|
87
|
-
end
|
|
88
|
-
|
|
89
|
-
### mx - Mexico
|
|
90
|
-
task :mx => [:import] do
|
|
91
|
-
import_fixtures( MX_TEAMS, MX_FIXTURES )
|
|
92
|
-
end
|
|
93
|
-
|
|
94
|
-
#### at - Austria
|
|
95
|
-
task :at => [:import] do
|
|
96
|
-
import_fixtures( AT_TEAMS, AT_FIXTURES )
|
|
97
|
-
end
|
|
98
|
-
|
|
99
|
-
#### de - Deutschland/Germany
|
|
100
|
-
task :de => [:import] do
|
|
101
|
-
import_fixtures( DE_TEAMS, DE_FIXTURES )
|
|
102
|
-
end
|
|
103
|
-
|
|
104
|
-
#### en - England
|
|
105
|
-
task :en => [:import] do
|
|
106
|
-
import_fixtures( EN_TEAMS, EN_FIXTURES )
|
|
107
|
-
end
|
|
108
|
-
|
|
109
|
-
#### ro - Romania
|
|
110
|
-
task :ro => [:import] do
|
|
111
|
-
import_fixtures( RO_TEAMS, RO_FIXTURES )
|
|
112
|
-
end
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
desc 'worlddb - test loading of builtin fixtures (update)'
|
|
117
|
-
task :update => [:world]
|
|
118
|
-
# task :update => [:at, :de, :en, :ro, :ar, :br, :mx]
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
def import_fixtures( teams, fixtures )
|
|
123
|
-
reader = SportDB::Reader.new
|
|
124
|
-
reader.load_with_include_path( teams, INCLUDE_PATH )
|
|
125
|
-
reader.load_with_include_path( fixtures, INCLUDE_PATH )
|
|
126
|
-
end
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
=begin
|
|
131
|
-
|
|
132
|
-
##################
|
|
133
|
-
# usage sample
|
|
134
|
-
##################
|
|
135
|
-
|
|
136
|
-
#### step 1) configure tasks in test.rb in your rake file
|
|
137
|
-
|
|
138
|
-
Rakefile:
|
|
139
|
-
|
|
140
|
-
INCLUDE_PATH = "../football.db"
|
|
141
|
-
|
|
142
|
-
BUILD_DIR = "./db"
|
|
143
|
-
|
|
144
|
-
SPORT_DB_PATH = "#{BUILD_DIR}/sport.db"
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
#### step 2) include tasks in test.rb
|
|
148
|
-
|
|
149
|
-
SPORT_DB_RUBY_PATH = "../sport.db.ruby"
|
|
150
|
-
WORLD_DB_RUBY_PATH = "../world.db.ruby"
|
|
151
|
-
|
|
152
|
-
require "#{WORLD_DB_RUBY_PATH}/lib/worlddb.rb"
|
|
153
|
-
require "#{SPORT_DB_RUBY_PATH}/lib/sportdb.rb"
|
|
154
|
-
|
|
155
|
-
require "#{SPORT_DB_RUBY_PATH}/tasks/test.rb"
|
|
156
|
-
|
|
157
|
-
Shell:
|
|
158
|
-
|
|
159
|
-
### step 3) call on command line
|
|
160
|
-
|
|
161
|
-
$ rake -I ../world.db.ruby/lib -I ../sport.db.ruby/lib update
|
|
162
|
-
|
|
163
|
-
=end
|