sportdb 1.9.2 → 1.9.3
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 -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
|