sportdb 1.9.2 → 1.9.3
Sign up to get free protection for your applications and to get access to all the features.
- data/Manifest.txt +4 -2
- data/lib/sportdb.rb +1 -1
- data/lib/sportdb/reader.rb +19 -3
- data/lib/sportdb/readers/{national_team.rb → squad.rb} +52 -25
- data/lib/sportdb/version.rb +1 -1
- data/test/data/world-cup/2014/squads/jp-japan.txt +30 -0
- data/test/data/world-cup/2014/squads/uy-uruguay.txt +32 -0
- data/test/helper.rb +1 -1
- data/test/{test_national_team_reader.rb → test_squad_reader.rb} +43 -7
- metadata +31 -29
data/Manifest.txt
CHANGED
@@ -69,11 +69,11 @@ lib/sportdb/readers/event.rb
|
|
69
69
|
lib/sportdb/readers/game.rb
|
70
70
|
lib/sportdb/readers/ground.rb
|
71
71
|
lib/sportdb/readers/league.rb
|
72
|
-
lib/sportdb/readers/national_team.rb
|
73
72
|
lib/sportdb/readers/race.rb
|
74
73
|
lib/sportdb/readers/race_team.rb
|
75
74
|
lib/sportdb/readers/record.rb
|
76
75
|
lib/sportdb/readers/season.rb
|
76
|
+
lib/sportdb/readers/squad.rb
|
77
77
|
lib/sportdb/readers/team.rb
|
78
78
|
lib/sportdb/readers/track.rb
|
79
79
|
lib/sportdb/schema.rb
|
@@ -130,6 +130,8 @@ test/data/world-cup/2014/cup.txt
|
|
130
130
|
test/data/world-cup/2014/cup.yml
|
131
131
|
test/data/world-cup/2014/squads/br-brazil.txt
|
132
132
|
test/data/world-cup/2014/squads/de-deutschland.txt
|
133
|
+
test/data/world-cup/2014/squads/jp-japan.txt
|
134
|
+
test/data/world-cup/2014/squads/uy-uruguay.txt
|
133
135
|
test/data/world-cup/leagues.txt
|
134
136
|
test/data/world-cup/seasons_1930.txt
|
135
137
|
test/data/world-cup/seasons_1954.txt
|
@@ -147,13 +149,13 @@ test/test_date.rb
|
|
147
149
|
test/test_goals.rb
|
148
150
|
test/test_lang.rb
|
149
151
|
test/test_load.rb
|
150
|
-
test/test_national_team_reader.rb
|
151
152
|
test/test_reader.rb
|
152
153
|
test/test_reader_from_string.rb
|
153
154
|
test/test_round_auto.rb
|
154
155
|
test/test_round_def.rb
|
155
156
|
test/test_round_header.rb
|
156
157
|
test/test_scores.rb
|
158
|
+
test/test_squad_reader.rb
|
157
159
|
test/test_standings.rb
|
158
160
|
test/test_utils.rb
|
159
161
|
test/test_winner.rb
|
data/lib/sportdb.rb
CHANGED
@@ -102,8 +102,8 @@ require 'sportdb/readers/league'
|
|
102
102
|
require 'sportdb/readers/race'
|
103
103
|
require 'sportdb/readers/record'
|
104
104
|
require 'sportdb/readers/race_team'
|
105
|
-
require 'sportdb/readers/national_team'
|
106
105
|
require 'sportdb/readers/season'
|
106
|
+
require 'sportdb/readers/squad' # roster
|
107
107
|
require 'sportdb/readers/team'
|
108
108
|
require 'sportdb/readers/track'
|
109
109
|
require 'sportdb/reader'
|
data/lib/sportdb/reader.rb
CHANGED
@@ -101,10 +101,26 @@ class Reader
|
|
101
101
|
elsif name =~ /\/squads\/([a-z]{2,3})-[^\/]+$/
|
102
102
|
## fix: add to country matcher new format
|
103
103
|
## name is country! and parent folder is type name e.g. /squads/br-brazil
|
104
|
-
|
105
|
-
|
104
|
+
|
105
|
+
# note: if two letters, assume country key
|
106
|
+
# if three letters, assume team key
|
107
|
+
|
108
|
+
## allow three letter codes
|
109
|
+
## assume three letter code are *team* codes (e.g. fdr, gdr, etc)
|
110
|
+
## not country code (allows multiple teams per country)
|
111
|
+
|
112
|
+
if $1.length == 2
|
113
|
+
country = Country.find_by_key!( $1 )
|
114
|
+
### for now assume country code matches team for now (do NOT forget to downcase e.g. BRA==bra)
|
115
|
+
logger.info " assume country code == team code for #{country.code}"
|
116
|
+
team = Team.find_by_key!( country.code.downcase )
|
117
|
+
else # assume length == 3
|
118
|
+
team = Team.find_by_key!( $1 )
|
119
|
+
end
|
120
|
+
|
121
|
+
reader = SquadReader.new( include_path )
|
106
122
|
## note: pass in @event.id - that is, last seen event (e.g. parsed via GameReader/MatchReader)
|
107
|
-
reader.read( name,
|
123
|
+
reader.read( name, team_id: team.id, event_id: @event.id )
|
108
124
|
elsif name =~ /\/squads/ || name =~ /\/rosters/ # e.g. 2013/squads.txt in formula1.db
|
109
125
|
reader = RaceTeamReader.new( include_path )
|
110
126
|
reader.read( name )
|
@@ -1,10 +1,13 @@
|
|
1
1
|
# encoding: UTF-8
|
2
2
|
|
3
|
+
### fix: change/rename file to squads.rb !!!
|
4
|
+
|
5
|
+
|
3
6
|
module SportDb
|
4
7
|
|
8
|
+
### squad/roster reader for national teams for now
|
5
9
|
|
6
|
-
|
7
|
-
class NationalTeamReader
|
10
|
+
class SquadReader
|
8
11
|
|
9
12
|
include LogUtils::Logging
|
10
13
|
|
@@ -27,6 +30,9 @@ class NationalTeamReader
|
|
27
30
|
|
28
31
|
|
29
32
|
def read( name, more_attribs={} )
|
33
|
+
## note:
|
34
|
+
# event_id and team_id required!!
|
35
|
+
|
30
36
|
## todo: move name_real_path code to LineReaderV2 ????
|
31
37
|
pos = name.index( '!/')
|
32
38
|
if pos.nil?
|
@@ -46,29 +52,21 @@ class NationalTeamReader
|
|
46
52
|
@event = Event.find( more_attribs[:event_id] )
|
47
53
|
pp @event
|
48
54
|
|
49
|
-
## check/fix:
|
50
|
-
## allow three letter codes
|
51
|
-
## assume three letter code are *team* codes (e.g. fdr, gdr, etc)
|
52
|
-
## not country code (allows multiple teams per country)
|
53
|
-
|
54
|
-
### check for country_id
|
55
|
-
## fix: check for country_key - allow (convert to country_id)
|
56
|
-
|
57
|
-
country = Country.find( more_attribs[:country_id] )
|
58
|
-
logger.info " find national team squad/lineup for #{country.name}"
|
59
|
-
|
60
|
-
## todo/fix: find national team for country - use event.teams w/ where country.id ??
|
61
|
-
### for now assume country code matches team for now (do NOT forget to downcase e.g. BRA==bra)
|
62
|
-
logger.info " assume country code == team code for #{country.code}"
|
63
|
-
|
64
55
|
## note: use @team - share/use in worker method
|
65
|
-
@team = Team.
|
56
|
+
@team = Team.find( more_attribs[:team_id] )
|
66
57
|
pp @team
|
67
58
|
|
68
59
|
### SportDb.lang.lang = LangChecker.new.analyze( name, include_path )
|
69
60
|
|
70
61
|
reader = LineReader.new( path )
|
71
62
|
|
63
|
+
|
64
|
+
##########
|
65
|
+
# fix: lookup table for now assumes national team
|
66
|
+
# make it usable for clubs too etc.
|
67
|
+
country = @team.country
|
68
|
+
pp country
|
69
|
+
|
72
70
|
logger.info " persons count for country: #{country.persons.count}"
|
73
71
|
@known_persons = TextUtils.build_title_table_for( country.persons )
|
74
72
|
|
@@ -80,6 +78,9 @@ class NationalTeamReader
|
|
80
78
|
|
81
79
|
|
82
80
|
def read_worker( reader )
|
81
|
+
##
|
82
|
+
## fix: use num (optional) for offical jersey number
|
83
|
+
# use pos for internal use only (ordering)
|
83
84
|
|
84
85
|
pos_counter = 999000 # pos counter for undefined players w/o pos
|
85
86
|
|
@@ -95,22 +96,48 @@ class NationalTeamReader
|
|
95
96
|
pos = pos_counter
|
96
97
|
end
|
97
98
|
|
99
|
+
#####
|
100
|
+
# - for now do NOT map team
|
98
101
|
# map_team!( line )
|
99
102
|
# team_key = find_team!( line )
|
100
103
|
# team = Team.find_by_key!( team_key )
|
101
104
|
|
102
105
|
map_person!( line )
|
103
106
|
person_key = find_person!( line )
|
104
|
-
|
105
|
-
person = Person.find_by_key( person_key )
|
106
107
|
|
107
108
|
logger.debug " line2: >#{line}<"
|
108
109
|
|
109
|
-
if
|
110
|
-
|
111
|
-
|
112
|
-
|
110
|
+
if person_key.nil?
|
111
|
+
## no person match found; try auto-add person
|
112
|
+
logger.info " !! no player match found; try auto-create player"
|
113
|
+
|
114
|
+
buf = line.clone
|
115
|
+
# remove (single match) if line starts w/ - (allow spaces) e.g. | - or |- note: must start line e.g. anchor ^ used
|
116
|
+
buf = buf.sub( /^[ ]*-[ ]*/, '' )
|
117
|
+
buf = buf.gsub( /\[[^\]]+\]/, '' ) # remove [POS] or similar
|
118
|
+
buf = buf.gsub( /\b(GK|DF|MF|FW)\b/, '' ) # remove position marker - use sub (just single marker?)
|
119
|
+
buf = buf.strip # remove leading and trailing spaces
|
120
|
+
|
121
|
+
## assume what's left is player name
|
122
|
+
logger.info " player_name >#{buf}<"
|
123
|
+
|
124
|
+
## fix: add auto flag (for auto-created persons/players)
|
125
|
+
## fix: move title_to_key logic to person model etc.
|
126
|
+
person_attribs = {
|
127
|
+
key: TextUtils.title_to_key( buf ),
|
128
|
+
title: buf
|
129
|
+
}
|
130
|
+
logger.info " using attribs: #{person_attribs.inspect}"
|
131
|
+
|
132
|
+
person = Person.create!( person_attribs )
|
133
|
+
else
|
134
|
+
person = Person.find_by_key( person_key )
|
113
135
|
|
136
|
+
if person.nil?
|
137
|
+
logger.error " !!!!!! no mapping found for player in line >#{line}< for team #{@team.code} - #{@team.title}"
|
138
|
+
next ## skip further processing of line; can NOT save w/o person; continue w/ next record
|
139
|
+
end
|
140
|
+
end
|
114
141
|
|
115
142
|
|
116
143
|
### check if roster record exists
|
@@ -138,5 +165,5 @@ class NationalTeamReader
|
|
138
165
|
end # method read_worker
|
139
166
|
|
140
167
|
|
141
|
-
end # class
|
168
|
+
end # class SquadReader
|
142
169
|
end # module SportDb
|
data/lib/sportdb/version.rb
CHANGED
@@ -0,0 +1,30 @@
|
|
1
|
+
#######
|
2
|
+
# note: players NOT in players database; will get auto-created for testing
|
3
|
+
#
|
4
|
+
|
5
|
+
(1) GK Eiji Kawashima ## 56, Standard Liège (BEL)
|
6
|
+
(12) GK Shusaku Nishikawa ## 12, Urawa Red Diamonds (JPN)
|
7
|
+
(23) GK Shūichi Gonda ## 2, F.C. Tokyo (JPN)
|
8
|
+
|
9
|
+
(2) DF Atsuto Uchida ## 67, Schalke 04 (GER)
|
10
|
+
(3) DF Gōtoku Sakai ## 12, VfB Stuttgart (GER)
|
11
|
+
(5) DF Yuto Nagatomo ## 69, Internazionale (ITA)
|
12
|
+
(6) DF Masato Morishige ## 9, F.C. Tokyo (JPN)
|
13
|
+
(15) DF Yasuyuki Konno ## 80, Gamba Osaka (JPN)
|
14
|
+
(19) DF Masahiko Inoha ## 21, Jubilo Iwata (JPN)
|
15
|
+
(21) DF Hiroki Sakai ## 17, Hannover 96 (GER)
|
16
|
+
(22) DF Maya Yoshida ## 40, Southampton (ENG)
|
17
|
+
|
18
|
+
(4) MF Keisuke Honda ## 55, Milan (ITA)
|
19
|
+
(7) MF Yasuhito Endō ## 143, Gamba Osaka (JPN)
|
20
|
+
(8) MF Hiroshi Kiyotake ## 25, 1. FC Nürnberg (GER)
|
21
|
+
(10) MF Shinji Kagawa ## 56, Manchester United (ENG)
|
22
|
+
(14) MF Toshihiro Aoyama ## 5, Sanfrecce Hiroshima (JPN)
|
23
|
+
(16) MF Hotaru Yamaguchi ## 11, Cerezo Osaka (JPN)
|
24
|
+
(17) MF Makoto Hasebe ## 78, 1. FC Nürnberg (GER)
|
25
|
+
|
26
|
+
(9) FW Shinji Okazaki ## 75, Mainz 05 (GER)
|
27
|
+
(11) FW Yoichiro Kakitani ## 11, Cerezo Osaka (JPN)
|
28
|
+
(13) FW Yoshito Ōkubo ## 56, Kawasaki Frontale (JPN)
|
29
|
+
(18) FW Yuya Osako ## 8, 1860 München (GER)
|
30
|
+
(20) FW Manabu Saitō ## 4, Yokohama F. Marinos (JPN)
|
@@ -0,0 +1,32 @@
|
|
1
|
+
#######
|
2
|
+
# note: try without (w/o) jersey number e.g. use - instead of (1) (12) etc.
|
3
|
+
# - players NOT in players database; will get auto-created for testing
|
4
|
+
|
5
|
+
|
6
|
+
- GK Fernando Muslera ## 57, Galatasaray (TUR)
|
7
|
+
- GK Rodrigo Muñoz ## 0, Libertad (PAR)
|
8
|
+
- GK Martín Silva ## 4, Vasco da Gama (BRA)
|
9
|
+
|
10
|
+
- DF Diego Lugano ## 93, West Bromwich Albion (ENG)
|
11
|
+
- DF Diego Godín ## 76, Atlético Madrid (ESP)
|
12
|
+
- DF Sebastián Coates ## 14, Nacional (URU)
|
13
|
+
- DF Jorge Fucile ## 41, Porto (POR)
|
14
|
+
- DF Maxi Pereira ## 89, Benfica (POR)
|
15
|
+
- DF José María Giménez ## 5, Atlético Madrid (ESP)
|
16
|
+
- DF Martín Cáceres ## 56, Juventus (ITA)
|
17
|
+
|
18
|
+
- MF Walter Gargano ## 62, Parma (ITA)
|
19
|
+
- MF Álvaro Pereira ## 56, São Paulo (BRA)
|
20
|
+
- MF Cristian Rodríguez ## 72, Atlético Madrid (ESP)
|
21
|
+
- MF Nicolás Lodeiro ## 26, Botafogo (BRA)
|
22
|
+
- MF Diego Pérez ## 89, Bologna (ITA)
|
23
|
+
- MF Egidio Arévalo Ríos ## 54, Morelia (MEX)
|
24
|
+
- MF Gastón Ramírez ## 28, Southampton (ENG)
|
25
|
+
- MF Álvaro González ## 42, Lazio (ITA)
|
26
|
+
|
27
|
+
- FW Abel Hernández ## 12, Palermo (ITA)
|
28
|
+
- FW Luis Suárez ## 77, Liverpool (ENG)
|
29
|
+
- FW Diego Forlán ## 109, Cerezo Osaka (JPN)
|
30
|
+
- FW Christian Stuani ## 9, Espanyol (ESP)
|
31
|
+
- FW Edinson Cavani ## 61, Paris Saint-Germain (FRA)
|
32
|
+
|
data/test/helper.rb
CHANGED
@@ -52,7 +52,7 @@ SeasonReader = SportDb::SeasonReader
|
|
52
52
|
LeagueReader = SportDb::LeagueReader
|
53
53
|
EventReader = SportDb::EventReader
|
54
54
|
GameReader = SportDb::GameReader
|
55
|
-
|
55
|
+
SquadReader = SportDb::SquadReader
|
56
56
|
RaceTeamReader = SportDb::RaceTeamReader
|
57
57
|
|
58
58
|
PersonReader = PersonDb::PersonReader
|
@@ -2,14 +2,14 @@
|
|
2
2
|
|
3
3
|
###
|
4
4
|
# to run use
|
5
|
-
# ruby -I ./lib -I ./test test/
|
5
|
+
# ruby -I ./lib -I ./test test/test_squad_reader.rb
|
6
6
|
# or better
|
7
7
|
# rake -I ./lib test
|
8
8
|
|
9
9
|
|
10
10
|
require 'helper'
|
11
11
|
|
12
|
-
class
|
12
|
+
class TestSquadReader < MiniTest::Unit::TestCase
|
13
13
|
|
14
14
|
def setup
|
15
15
|
WorldDb.delete!
|
@@ -50,8 +50,8 @@ class TestNationalTeamReader < MiniTest::Unit::TestCase
|
|
50
50
|
|
51
51
|
event = Event.find_by_key!( 'world.2014' )
|
52
52
|
|
53
|
-
reader =
|
54
|
-
reader.read( 'world-cup/2014/squads/br-brazil',
|
53
|
+
reader = SquadReader.new( SportDb.test_data_path )
|
54
|
+
reader.read( 'world-cup/2014/squads/br-brazil', team_id: bra.id, event_id: event.id )
|
55
55
|
|
56
56
|
assert_equal 23, Roster.count
|
57
57
|
end # method test_br
|
@@ -70,11 +70,47 @@ class TestNationalTeamReader < MiniTest::Unit::TestCase
|
|
70
70
|
|
71
71
|
event = Event.find_by_key!( 'world.2014' )
|
72
72
|
|
73
|
-
reader =
|
74
|
-
reader.read( 'world-cup/2014/squads/de-deutschland',
|
73
|
+
reader = SquadReader.new( SportDb.test_data_path )
|
74
|
+
reader.read( 'world-cup/2014/squads/de-deutschland', team_id: ger.id, event_id: event.id )
|
75
75
|
|
76
76
|
assert_equal 3, Roster.count
|
77
77
|
end # method test_de
|
78
78
|
|
79
79
|
|
80
|
-
|
80
|
+
def test_uy
|
81
|
+
uy = Country.create!( key: 'uy', title: 'Uruguay', code: 'URU', pop: 1, area: 1)
|
82
|
+
|
83
|
+
assert_equal 0, Person.count
|
84
|
+
assert_equal 0, Roster.count
|
85
|
+
|
86
|
+
uru = Team.create!( key: 'uru', title: 'Uruguay', code: 'URU', country_id: uy.id )
|
87
|
+
|
88
|
+
event = Event.find_by_key!( 'world.2014' )
|
89
|
+
|
90
|
+
reader = SquadReader.new( SportDb.test_data_path )
|
91
|
+
reader.read( 'world-cup/2014/squads/uy-uruguay', team_id: uru.id, event_id: event.id )
|
92
|
+
|
93
|
+
assert_equal 23, Roster.count
|
94
|
+
assert_equal 23, Person.count
|
95
|
+
end # method test_uy
|
96
|
+
|
97
|
+
|
98
|
+
def test_jp
|
99
|
+
jp = Country.create!( key: 'jp', title: 'Japan', code: 'JPN', pop: 1, area: 1)
|
100
|
+
|
101
|
+
assert_equal 0, Person.count
|
102
|
+
assert_equal 0, Roster.count
|
103
|
+
|
104
|
+
jpn = Team.create!( key: 'jpn', title: 'Japan', code: 'JPN', country_id: jp.id )
|
105
|
+
|
106
|
+
event = Event.find_by_key!( 'world.2014' )
|
107
|
+
|
108
|
+
reader = SquadReader.new( SportDb.test_data_path )
|
109
|
+
reader.read( 'world-cup/2014/squads/jp-japan', team_id: jpn.id, event_id: event.id )
|
110
|
+
|
111
|
+
assert_equal 23, Roster.count
|
112
|
+
assert_equal 23, Person.count
|
113
|
+
end # method test_jp
|
114
|
+
|
115
|
+
|
116
|
+
end # class TestSquadReader
|
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.9.
|
4
|
+
version: 1.9.3
|
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-06-
|
12
|
+
date: 2014-06-30 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: props
|
16
|
-
requirement: &
|
16
|
+
requirement: &77222090 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *77222090
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: logutils
|
27
|
-
requirement: &
|
27
|
+
requirement: &77221830 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *77221830
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: textutils
|
38
|
-
requirement: &
|
38
|
+
requirement: &77221580 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *77221580
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: worlddb
|
49
|
-
requirement: &
|
49
|
+
requirement: &77221170 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 2.0.2
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *77221170
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: tagutils
|
60
|
-
requirement: &
|
60
|
+
requirement: &77220840 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :runtime
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *77220840
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: persondb
|
71
|
-
requirement: &
|
71
|
+
requirement: &77220610 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: '0'
|
77
77
|
type: :runtime
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *77220610
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: activerecord-utils
|
82
|
-
requirement: &
|
82
|
+
requirement: &77220380 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ! '>='
|
@@ -87,10 +87,10 @@ dependencies:
|
|
87
87
|
version: '0'
|
88
88
|
type: :runtime
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *77220380
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: fetcher
|
93
|
-
requirement: &
|
93
|
+
requirement: &77220110 !ruby/object:Gem::Requirement
|
94
94
|
none: false
|
95
95
|
requirements:
|
96
96
|
- - ! '>='
|
@@ -98,10 +98,10 @@ dependencies:
|
|
98
98
|
version: '0.3'
|
99
99
|
type: :runtime
|
100
100
|
prerelease: false
|
101
|
-
version_requirements: *
|
101
|
+
version_requirements: *77220110
|
102
102
|
- !ruby/object:Gem::Dependency
|
103
103
|
name: gli
|
104
|
-
requirement: &
|
104
|
+
requirement: &77219890 !ruby/object:Gem::Requirement
|
105
105
|
none: false
|
106
106
|
requirements:
|
107
107
|
- - ! '>='
|
@@ -109,10 +109,10 @@ dependencies:
|
|
109
109
|
version: 2.5.6
|
110
110
|
type: :runtime
|
111
111
|
prerelease: false
|
112
|
-
version_requirements: *
|
112
|
+
version_requirements: *77219890
|
113
113
|
- !ruby/object:Gem::Dependency
|
114
114
|
name: activerecord
|
115
|
-
requirement: &
|
115
|
+
requirement: &77219700 !ruby/object:Gem::Requirement
|
116
116
|
none: false
|
117
117
|
requirements:
|
118
118
|
- - ! '>='
|
@@ -120,10 +120,10 @@ dependencies:
|
|
120
120
|
version: '0'
|
121
121
|
type: :runtime
|
122
122
|
prerelease: false
|
123
|
-
version_requirements: *
|
123
|
+
version_requirements: *77219700
|
124
124
|
- !ruby/object:Gem::Dependency
|
125
125
|
name: rdoc
|
126
|
-
requirement: &
|
126
|
+
requirement: &77219450 !ruby/object:Gem::Requirement
|
127
127
|
none: false
|
128
128
|
requirements:
|
129
129
|
- - ~>
|
@@ -131,10 +131,10 @@ dependencies:
|
|
131
131
|
version: '4.0'
|
132
132
|
type: :development
|
133
133
|
prerelease: false
|
134
|
-
version_requirements: *
|
134
|
+
version_requirements: *77219450
|
135
135
|
- !ruby/object:Gem::Dependency
|
136
136
|
name: hoe
|
137
|
-
requirement: &
|
137
|
+
requirement: &77219100 !ruby/object:Gem::Requirement
|
138
138
|
none: false
|
139
139
|
requirements:
|
140
140
|
- - ~>
|
@@ -142,7 +142,7 @@ dependencies:
|
|
142
142
|
version: '3.11'
|
143
143
|
type: :development
|
144
144
|
prerelease: false
|
145
|
-
version_requirements: *
|
145
|
+
version_requirements: *77219100
|
146
146
|
description: sportdb - sport.db command line tool
|
147
147
|
email: opensport@googlegroups.com
|
148
148
|
executables:
|
@@ -224,11 +224,11 @@ files:
|
|
224
224
|
- lib/sportdb/readers/game.rb
|
225
225
|
- lib/sportdb/readers/ground.rb
|
226
226
|
- lib/sportdb/readers/league.rb
|
227
|
-
- lib/sportdb/readers/national_team.rb
|
228
227
|
- lib/sportdb/readers/race.rb
|
229
228
|
- lib/sportdb/readers/race_team.rb
|
230
229
|
- lib/sportdb/readers/record.rb
|
231
230
|
- lib/sportdb/readers/season.rb
|
231
|
+
- lib/sportdb/readers/squad.rb
|
232
232
|
- lib/sportdb/readers/team.rb
|
233
233
|
- lib/sportdb/readers/track.rb
|
234
234
|
- lib/sportdb/schema.rb
|
@@ -285,6 +285,8 @@ files:
|
|
285
285
|
- test/data/world-cup/2014/cup.yml
|
286
286
|
- test/data/world-cup/2014/squads/br-brazil.txt
|
287
287
|
- test/data/world-cup/2014/squads/de-deutschland.txt
|
288
|
+
- test/data/world-cup/2014/squads/jp-japan.txt
|
289
|
+
- test/data/world-cup/2014/squads/uy-uruguay.txt
|
288
290
|
- test/data/world-cup/leagues.txt
|
289
291
|
- test/data/world-cup/seasons_1930.txt
|
290
292
|
- test/data/world-cup/seasons_1954.txt
|
@@ -302,13 +304,13 @@ files:
|
|
302
304
|
- test/test_goals.rb
|
303
305
|
- test/test_lang.rb
|
304
306
|
- test/test_load.rb
|
305
|
-
- test/test_national_team_reader.rb
|
306
307
|
- test/test_reader.rb
|
307
308
|
- test/test_reader_from_string.rb
|
308
309
|
- test/test_round_auto.rb
|
309
310
|
- test/test_round_def.rb
|
310
311
|
- test/test_round_header.rb
|
311
312
|
- test/test_scores.rb
|
313
|
+
- test/test_squad_reader.rb
|
312
314
|
- test/test_standings.rb
|
313
315
|
- test/test_utils.rb
|
314
316
|
- test/test_winner.rb
|
@@ -360,10 +362,10 @@ test_files:
|
|
360
362
|
- test/test_winner.rb
|
361
363
|
- test/test_round_def.rb
|
362
364
|
- test/test_utils.rb
|
365
|
+
- test/test_squad_reader.rb
|
363
366
|
- test/test_reader_from_string.rb
|
364
367
|
- test/test_round_header.rb
|
365
368
|
- test/test_round_auto.rb
|
366
|
-
- test/test_national_team_reader.rb
|
367
369
|
- test/test_goals.rb
|
368
370
|
- test/test_reader.rb
|
369
371
|
- test/test_assoc_reader.rb
|