sportdb 1.8.13 → 1.8.14

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 5cefa76f8ddfdb3d4e725aa3e91ba49691f8fc19
4
+ data.tar.gz: 4b13723ae7ef89874187ca474216d944bfd7e765
5
+ SHA512:
6
+ metadata.gz: 3911dd470b9117eea519f09eab2e675e5e398ea360dbaa3adf2fdb6997d25926836538f7bd2f4637abd1bc2d000e72ff56ab716d1d834f8641bbab5a63326e92
7
+ data.tar.gz: bef43a3710fe4d9d06221d386609244693333f02164bdbc673b4ab2ad2c61d4469c6fd4b64de2da93159300d652aa4137e1440682b474caf63d31ba7056e93b5
data/bin/sportdb CHANGED
File without changes
@@ -4,19 +4,20 @@
4
4
 
5
5
  group: Gruppe
6
6
 
7
- ## roll into one (matchday+round) ???
8
- matchday: Spieltag
9
- round: Runde
7
+ round: Spieltag|Runde
8
+
10
9
 
11
10
  stage: Gruppenphase|Qualifikation|Play-off|Finalrunde|K.-o.-Phase
12
11
 
13
12
 
14
13
  ### Knock out rounds
15
14
 
15
+ ## fix: add playoffs:
16
16
  round32: Sechzehntelfinale|1/16 Finale
17
17
  round16: Achtelfinale|1/8 Finale
18
18
  quarterfinals: Viertelfinale|1/4 Finale
19
19
  semifinals: Halbfinale|Semifinale|1/2 Finale
20
+ fifthplace: Spiel um Platz 5
20
21
  thirdplace: Spiel um Platz 3
21
22
  final: Finale|Endspiel
22
23
 
@@ -4,10 +4,7 @@
4
4
 
5
5
  group: Group
6
6
 
7
- ## roll into one (matchday+round) ???
8
-
9
- matchday: Matchday
10
- round: Round
7
+ round: Round|Matchday
11
8
 
12
9
  stage: Stage|Phase|Rounds
13
10
  # e.g.
@@ -20,20 +17,22 @@ stage: Stage|Phase|Rounds
20
17
 
21
18
 
22
19
 
23
-
24
20
  ### Knockout rounds
25
21
 
22
+ playoffs: Play-off|Play-offs|Play-off for quarter-finals
26
23
  round32: Round of 32|Last 32
27
- round16: Round of 16|Last 16
28
- quarterfinals: Quarterfinals|Quarter-finals|Quarters|Quarterfinal # todo: check if singular Quaterfinal is possible??
29
- semifinals: Semifinals|Semi-finals|Semis
30
- thirdplace: Third-place play-off|Third place play-off|Third place|3rd place match|Match for third place
24
+ round16: Round of 16|Last 16|8th finals
25
+ quarterfinals: Quarterfinals|Quarter-finals|Quarters|Quarterfinal|Last 8
26
+ semifinals: Semifinals|Semi-finals|Semis|Last 4
27
+ fifthplace: Fifth place match|Fifth place|5th place match|5th place final|5th place|Match for fifth place|Match for 5th place
28
+ thirdplace: Third place match|Third place|3rd place match|3rd place final|3rd place|Match for third place|Match for 3rd place|Third-place play-off|Third place play-off
31
29
  final: Final|Finals
32
30
 
31
+
33
32
  ### Pair matches/games if marked with leg1 n leg2
34
33
 
35
- leg1: 1st leg|1st Leg|First leg # todo: check for automatica ignore case - why? why not?
36
- leg2: 2nd leg|2nd Leg|Second leg
34
+ leg1: 1st leg|First leg
35
+ leg2: 2nd leg|Second leg
37
36
 
38
37
 
39
38
  #######################
@@ -4,9 +4,7 @@
4
4
 
5
5
  group: Grupo
6
6
 
7
- ## roll into one (matchday+round) ???
8
- matchday: Jornada
9
- round: Fecha
7
+ round: Fecha|Jornada
10
8
 
11
9
 
12
10
  stage: Primera fase|Segunda fase|Fase de grupos|Fase final
@@ -14,6 +12,9 @@ stage: Primera fase|Segunda fase|Fase de grupos|Fase final
14
12
 
15
13
  ### Knock out rounds
16
14
 
15
+ ## fix: add playoffs + fifthplace
16
+
17
+
17
18
  round32: Dieciseisavos de final|16vos de final
18
19
  round16: Octavos|Octavos de final|8vos de final
19
20
  quarterfinals: Cuartos|Cuartos de final|4tos de final
@@ -4,9 +4,6 @@
4
4
 
5
5
  group: Groupe
6
6
 
7
- ## roll into one (matchday+round) ???
8
-
9
- matchday: Journée
10
7
  round: Journée
11
8
 
12
9
  stage: Phase de groupes|Phase à élimination directe|Phase finale
@@ -23,6 +20,9 @@ stage: Phase de groupes|Phase à élimination directe|Phase finale
23
20
 
24
21
  ### Knockout rounds
25
22
 
23
+ ## fix: add playoffs + fifthplace
24
+
25
+
26
26
  round32: Seizièmes de finale
27
27
  round16: Huitièmes de finale
28
28
  quarterfinals: Quarts de finale
@@ -5,9 +5,6 @@
5
5
  group: Gruppo
6
6
 
7
7
 
8
- ## roll into one (matchday+round) ???
9
-
10
- matchday: Giornata
11
8
  round: Giornata
12
9
 
13
10
  stage: Fase a gironi|Fase a eliminazione diretta
@@ -24,6 +21,9 @@ stage: Fase a gironi|Fase a eliminazione diretta
24
21
 
25
22
  ### Knockout rounds
26
23
 
24
+ ## fix: add playoffs + fifthplace
25
+
26
+
27
27
  round32: Sedicesimi di finale
28
28
  round16: Ottavi di finale
29
29
  quarterfinals: Quarti di finale
@@ -4,9 +4,6 @@
4
4
 
5
5
  group: Grupo
6
6
 
7
- ## roll into one (matchday+round) ???
8
-
9
- matchday: Rodada
10
7
  round: Rodada
11
8
 
12
9
  stage: Fase de grupos|Fase final|Primeira Fase|Segunda Fase
@@ -14,6 +11,8 @@ stage: Fase de grupos|Fase final|Primeira Fase|Segunda Fase
14
11
 
15
12
  ### Knock out rounds
16
13
 
14
+ ## fix: add playoffs + fifthplace
15
+
17
16
  round32: 16-avos de final
18
17
  round16: Oitavos de final|Oitavas-de-final
19
18
  quarterfinals: Quartos de final|Quartas-de-final
@@ -4,10 +4,7 @@
4
4
 
5
5
  group: Grupa
6
6
 
7
- ## roll into one (matchday+round) ???
8
-
9
- matchday: Etapa
10
- round: Runda
7
+ round: Runda|Etapa
11
8
 
12
9
 
13
10
  stage: Faza grupelor|Faza eliminatorie
@@ -24,6 +21,9 @@ stage: Faza grupelor|Faza eliminatorie
24
21
 
25
22
  ### Knockout rounds
26
23
 
24
+ ## fix: add playoffs + fifthplace
25
+
26
+
27
27
  round32: 1/16 de finală
28
28
  round16: Optimi de finală
29
29
  quarterfinals: Sferturi de finală
data/data/seasons.txt CHANGED
@@ -30,6 +30,8 @@
30
30
 
31
31
  # -- years only --
32
32
 
33
+ 2022
34
+ 2021
33
35
  2020
34
36
  2019
35
37
  2018
@@ -64,3 +66,9 @@
64
66
  2013.2
65
67
  2012.1
66
68
  2012.2
69
+ 2011.1
70
+ 2011.2
71
+ 2010.1
72
+ 2010.2
73
+
74
+
data/lib/sportdb/lang.rb CHANGED
@@ -128,18 +128,23 @@ private
128
128
  def round_getter
129
129
  # e.g. Spieltag|Runde|Achtelfinale|Viertelfinale|Halbfinale|Finale
130
130
 
131
+ ## fix/todo:
132
+ ## sort by length first - to allow best match e.g.
133
+ ## 3rd place play-off instead of Play-off ?? etc. - why? why not?
134
+
131
135
  h = @words[ lang ]
132
136
  values = "" # NB: always construct a new string (do NOT use a reference to hash value)
133
137
  values << h['round']
134
- values << "|" << h['matchday'] ## todo/check: fold round n matchday into one key? why? why not??
135
138
 
136
139
  ### add knockout rounds values too
137
140
  values << "|" << h['round32']
138
141
  values << "|" << h['round16']
139
142
  values << "|" << h['quarterfinals']
140
143
  values << "|" << h['semifinals']
144
+ values << "|" << h['fifthplace'] if h['fifthplace'] # nb: allow empty/is optional!!
141
145
  values << "|" << h['thirdplace']
142
146
  values << "|" << h['final']
147
+ values << "|" << h['playoffs'] if h['playoffs'] # nb: allow empty/is optional!!
143
148
  values
144
149
  end
145
150
 
@@ -164,35 +169,45 @@ private
164
169
  values << "|" << h['round16']
165
170
  values << "|" << h['quarterfinals']
166
171
  values << "|" << h['semifinals']
172
+ values << "|" << h['fifthplace'] if h['fifthplace'] # nb: allow empty/is optional!!
167
173
  values << "|" << h['thirdplace']
168
174
  values << "|" << h['final']
175
+ values << "|" << h['playoffs'] if h['playoffs'] # nb: allow empty/is optional!!
169
176
  values
170
177
  end
171
178
 
172
179
  def regex_group_getter
173
180
  ## todo: escape for regex?
174
- /#{group}/
181
+ ## NB: let's ignore case (that is, UPCASE,downcase); always use /i flag
182
+ /#{group}/i
175
183
  end
176
184
 
177
185
  def regex_round_getter
178
186
  ## todo: escape for regex?
179
187
  ## todo: sort by length - biggest words go first? does regex match biggest word automatically?? - check
180
- /#{round}/
188
+ ## todo/fix: make - optional e.g. convert to ( |-) or better [ \-] ??
189
+ ## NB: let's ignore case (that is, UPCASE,downcase); always use /i flag
190
+ /#{round}/i
181
191
  end
182
192
 
183
193
  def regex_knockout_round_getter
184
194
  ## todo: escape for regex?
185
- /#{knockout_round}/
195
+ ## todo: sort by length - biggest words go first? does regex match biggest word automatically?? - check
196
+ ## todo/fix: make - optional e.g. convert to ( |-) or better [ \-] ??
197
+ ## NB: let's ignore case (that is, UPCASE,downcase); always use /i flag
198
+ /#{knockout_round}/i
186
199
  end
187
-
200
+
188
201
  def regex_leg1_getter
189
202
  ## todo: escape for regex?
190
- /#{leg1}/
203
+ ## NB: let's ignore case (that is, UPCASE,downcase); always use /i flag
204
+ /#{leg1}/i
191
205
  end
192
206
 
193
207
  def regex_leg2_getter
194
208
  ## todo: escape for regex?
195
- /#{leg2}/
209
+ ## NB: let's ignore case (that is, UPCASE,downcase); always use /i flag
210
+ /#{leg2}/i
196
211
  end
197
212
 
198
213
  end # class Lang
@@ -40,6 +40,21 @@ class Reader
40
40
  end # method load_setup
41
41
 
42
42
 
43
+ def is_club_fixture?( name )
44
+ ## guess (heuristic) if it's a national team event (e.g. world cup, copa america, etc.)
45
+ ## or club event (e.g. bundesliga, club world cup, etc.)
46
+
47
+ if name =~ /club-world-cup!?\// # NB: must go before -cup (special case)
48
+ true
49
+ elsif name =~ /copa-america!?\// || # NB: copa-america/ or copa-america!/
50
+ name =~ /-cup!?\// # NB: -cup/ or -cup!/
51
+ false
52
+ else
53
+ true
54
+ end
55
+ end
56
+
57
+
43
58
  def load( name ) # convenience helper for all-in-one reader
44
59
 
45
60
  logger.debug "enter load( name=>>#{name}<<, include_path=>>#{include_path}<<)"
@@ -98,16 +113,8 @@ class Reader
98
113
  reader.read( name, club: true, country_id: country.id )
99
114
  end
100
115
  elsif name =~ /(?:^|\/)leagues/ # NB: ^leagues or also possible world!/leagues - NB: make sure goes after leagues_for_country!!
101
- if name =~ /-cup!?\// || # NB: -cup/ or -cup!/
102
- name =~ /copa-america!?\// # NB: copa-america/ or copa-america!/
103
- # e.g. national team tournaments/leagues (e.g. world-cup/ or euro-cup/)
104
- reader = LeagueReader.new( include_path )
105
- reader.read( name, club: false )
106
- else
107
- # e.g. leagues_club
108
- reader = LeagueReader.new( include_path )
109
- reader.read( name, club: true )
110
- end
116
+ reader = LeagueReader.new( include_path )
117
+ reader.read( name, club: is_club_fixture?( name ) )
111
118
  elsif match_teams_for_country( name ) do |country_key| # name =~ /^([a-z]{2})\/teams/
112
119
  # auto-add country code (from folder structure) for country-specific teams
113
120
  # e.g. at/teams at/teams.2 de/teams etc.
@@ -116,18 +123,8 @@ class Reader
116
123
  reader.read( name, club: true, country_id: country.id )
117
124
  end
118
125
  elsif name =~ /(?:^|\/)teams/
119
- if name =~ /-cup!?\// || # NB: -cup/ or -cup!/
120
- name =~ /copa-america!?\// # NB: copa-america/ or copa-america!/
121
- # assume national teams
122
- # e.g. world-cup/teams amercia-cup/teams_northern
123
- reader = TeamReader.new( include_path )
124
- reader.read( name, club: false )
125
- else
126
- # club teams (many countries)
127
- # e.g. club/europe/teams
128
- reader = TeamReader.new( include_path )
129
- reader.read( name, club: true )
130
- end
126
+ reader = TeamReader.new( include_path )
127
+ reader.read( name, club: is_club_fixture?( name ) )
131
128
  elsif name =~ /\/(\d{4}|\d{4}_\d{2})\// || name =~ /\/(\d{4}|\d{4}_\d{2})$/
132
129
  # e.g. must match /2012/ or /2012_13/
133
130
  # or /2012 or /2012_13 e.g. brazil/2012 or brazil/2012_13
@@ -1,6 +1,6 @@
1
1
 
2
2
  module SportDb
3
- VERSION = '1.8.13'
3
+ VERSION = '1.8.14'
4
4
  end
5
5
 
6
6
 
data/test/test_lang.rb CHANGED
@@ -17,31 +17,33 @@ class TestLang < MiniTest::Unit::TestCase
17
17
 
18
18
  group = 'Group'
19
19
 
20
- round = 'Round'
21
- round << '|Matchday'
20
+ round = 'Round|Matchday'
22
21
  round << '|Round of 32|Last 32'
23
- round << '|Round of 16|Last 16'
24
- round << '|Quarterfinals|Quarter-finals|Quarters|Quarterfinal'
25
- round << '|Semifinals|Semi-finals|Semis'
26
- round << '|Third-place play-off|Third place play-off|Third place|3rd place match|Match for third place'
22
+ round << '|Round of 16|Last 16|8th finals'
23
+ round << '|Quarterfinals|Quarter-finals|Quarters|Quarterfinal|Last 8'
24
+ round << '|Semifinals|Semi-finals|Semis|Last 4'
25
+ round << '|Fifth place match|Fifth place|5th place match|5th place final|5th place|Match for fifth place|Match for 5th place'
26
+ round << '|Third place match|Third place|3rd place match|3rd place final|3rd place|Match for third place|Match for 3rd place|Third-place play-off|Third place play-off'
27
27
  round << '|Final|Finals'
28
+ round << '|Play-off|Play-offs|Play-off for quarter-finals'
28
29
 
29
30
  knockout_round = 'Round of 32|Last 32'
30
- knockout_round << '|Round of 16|Last 16'
31
- knockout_round << '|Quarterfinals|Quarter-finals|Quarters|Quarterfinal'
32
- knockout_round << '|Semifinals|Semi-finals|Semis'
33
- knockout_round << '|Third-place play-off|Third place play-off|Third place|3rd place match|Match for third place'
31
+ knockout_round << '|Round of 16|Last 16|8th finals'
32
+ knockout_round << '|Quarterfinals|Quarter-finals|Quarters|Quarterfinal|Last 8'
33
+ knockout_round << '|Semifinals|Semi-finals|Semis|Last 4'
34
+ knockout_round << '|Fifth place match|Fifth place|5th place match|5th place final|5th place|Match for fifth place|Match for 5th place'
35
+ knockout_round << '|Third place match|Third place|3rd place match|3rd place final|3rd place|Match for third place|Match for 3rd place|Third-place play-off|Third place play-off'
34
36
  knockout_round << '|Final|Finals'
37
+ knockout_round << '|Play-off|Play-offs|Play-off for quarter-finals'
35
38
 
36
-
37
- assert( group == lang.group )
38
- assert( round == lang.round )
39
- assert( knockout_round == lang.knockout_round )
39
+ assert_equal group, lang.group
40
+ assert_equal round, lang.round
41
+ assert_equal knockout_round, lang.knockout_round
40
42
 
41
43
  # NB: call twice to test caching with ||=
42
- assert( group == lang.group )
43
- assert( round == lang.round )
44
- assert( knockout_round == lang.knockout_round )
44
+ assert_equal group, lang.group
45
+ assert_equal round, lang.round
46
+ assert_equal knockout_round, lang.knockout_round
45
47
 
46
48
  end
47
49
 
@@ -51,12 +53,12 @@ class TestLang < MiniTest::Unit::TestCase
51
53
 
52
54
  group = 'Gruppe'
53
55
 
54
- round = 'Runde'
55
- round << '|Spieltag'
56
+ round = 'Spieltag|Runde'
56
57
  round << '|Sechzehntelfinale|1/16 Finale'
57
58
  round << '|Achtelfinale|1/8 Finale'
58
59
  round << '|Viertelfinale|1/4 Finale'
59
60
  round << '|Halbfinale|Semifinale|1/2 Finale'
61
+ round << '|Spiel um Platz 5'
60
62
  round << '|Spiel um Platz 3'
61
63
  round << '|Finale|Endspiel'
62
64
 
@@ -64,19 +66,20 @@ class TestLang < MiniTest::Unit::TestCase
64
66
  knockout_round << '|Achtelfinale|1/8 Finale'
65
67
  knockout_round << '|Viertelfinale|1/4 Finale'
66
68
  knockout_round << '|Halbfinale|Semifinale|1/2 Finale'
69
+ knockout_round << '|Spiel um Platz 5'
67
70
  knockout_round << '|Spiel um Platz 3'
68
71
  knockout_round << '|Finale|Endspiel'
69
72
 
70
73
 
71
- assert( group == lang.group )
72
- assert( round == lang.round )
73
- assert( knockout_round == lang.knockout_round )
74
+ assert_equal group, lang.group
75
+ assert_equal round, lang.round
76
+ assert_equal knockout_round, lang.knockout_round
74
77
 
75
78
  # NB: call twice to test caching with ||=
76
79
 
77
- assert( round == lang.round )
78
- assert( group == lang.group )
79
- assert( knockout_round == lang.knockout_round )
80
+ assert_equal group, lang.group
81
+ assert_equal round, lang.round
82
+ assert_equal knockout_round, lang.knockout_round
80
83
  end
81
84
 
82
85
  def test_regex_knockout_round
@@ -86,7 +89,16 @@ class TestLang < MiniTest::Unit::TestCase
86
89
  lines = [
87
90
  '(4) Quarter-finals',
88
91
  '(5) Semi-finals',
89
- '(6) Final'
92
+ '(6) Final',
93
+ '(1) Play-off 1st Leg // 11–15 October',
94
+ '(2) Play-off 2nd Leg // 15-19 November',
95
+ '(1) Play-off for quarter-finals',
96
+ '(4) Match for fifth place',
97
+ '(5) Match for third place',
98
+ ## check for ALL UPCASE too
99
+ '(4) QUARTER-FINALS',
100
+ '(5) SEMI-FINALS',
101
+ '(6) FINAL'
90
102
  ]
91
103
 
92
104
  lines.each do |line|
@@ -41,7 +41,35 @@ class TestRoundHeader < MiniTest::Unit::TestCase
41
41
  { pos:14,
42
42
  title: 'Round of 16 / 2nd Leg',
43
43
  title2: 'May 8-10',
44
- ko: true }] ]
44
+ ko: true }],
45
+
46
+ [ "(4) Match for fifth place",
47
+ { pos:4,
48
+ title: 'Match for fifth place',
49
+ ko: true }],
50
+
51
+ [ "(5) Match for third place",
52
+ { pos:5,
53
+ title: 'Match for third place',
54
+ ko: true }],
55
+
56
+ [ "(1) Play-off for quarter-finals",
57
+ { pos:1,
58
+ title: 'Play-off for quarter-finals',
59
+ ko: true }],
60
+
61
+ [ "(1) Play-off 1st Leg // 11–15 October",
62
+ { pos:1,
63
+ title: 'Play-off 1st Leg',
64
+ title2: '11–15 October',
65
+ ko: false } ],
66
+
67
+ [ "(2) Play-off 2nd Leg // 15-19 November",
68
+ { pos:2,
69
+ title: 'Play-off 2nd Leg',
70
+ title2: '15-19 November',
71
+ ko: true } ],
72
+ ]
45
73
 
46
74
  assert_rounds( data )
47
75
  end
metadata CHANGED
@@ -1,126 +1,155 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sportdb
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.13
5
- prerelease:
4
+ version: 1.8.14
6
5
  platform: ruby
7
6
  authors:
8
7
  - Gerald Bauer
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2014-04-15 00:00:00.000000000 Z
11
+ date: 2014-04-18 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: props
16
- requirement: &77469600 !ruby/object:Gem::Requirement
17
- none: false
15
+ requirement: !ruby/object:Gem::Requirement
18
16
  requirements:
19
17
  - - ! '>='
20
18
  - !ruby/object:Gem::Version
21
19
  version: '0'
22
20
  type: :runtime
23
21
  prerelease: false
24
- version_requirements: *77469600
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ! '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
25
27
  - !ruby/object:Gem::Dependency
26
28
  name: logutils
27
- requirement: &77468760 !ruby/object:Gem::Requirement
28
- none: false
29
+ requirement: !ruby/object:Gem::Requirement
29
30
  requirements:
30
31
  - - ! '>='
31
32
  - !ruby/object:Gem::Version
32
33
  version: '0'
33
34
  type: :runtime
34
35
  prerelease: false
35
- version_requirements: *77468760
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ! '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
36
41
  - !ruby/object:Gem::Dependency
37
42
  name: textutils
38
- requirement: &77468390 !ruby/object:Gem::Requirement
39
- none: false
43
+ requirement: !ruby/object:Gem::Requirement
40
44
  requirements:
41
45
  - - ! '>='
42
46
  - !ruby/object:Gem::Version
43
47
  version: '0'
44
48
  type: :runtime
45
49
  prerelease: false
46
- version_requirements: *77468390
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
47
55
  - !ruby/object:Gem::Dependency
48
56
  name: worlddb
49
- requirement: &77468000 !ruby/object:Gem::Requirement
50
- none: false
57
+ requirement: !ruby/object:Gem::Requirement
51
58
  requirements:
52
59
  - - ! '>='
53
60
  - !ruby/object:Gem::Version
54
61
  version: 2.0.2
55
62
  type: :runtime
56
63
  prerelease: false
57
- version_requirements: *77468000
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ! '>='
67
+ - !ruby/object:Gem::Version
68
+ version: 2.0.2
58
69
  - !ruby/object:Gem::Dependency
59
70
  name: tagutils
60
- requirement: &77467680 !ruby/object:Gem::Requirement
61
- none: false
71
+ requirement: !ruby/object:Gem::Requirement
62
72
  requirements:
63
73
  - - ! '>='
64
74
  - !ruby/object:Gem::Version
65
75
  version: '0'
66
76
  type: :runtime
67
77
  prerelease: false
68
- version_requirements: *77467680
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ! '>='
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: fetcher
71
- requirement: &77467090 !ruby/object:Gem::Requirement
72
- none: false
85
+ requirement: !ruby/object:Gem::Requirement
73
86
  requirements:
74
87
  - - ! '>='
75
88
  - !ruby/object:Gem::Version
76
89
  version: '0.3'
77
90
  type: :runtime
78
91
  prerelease: false
79
- version_requirements: *77467090
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ! '>='
95
+ - !ruby/object:Gem::Version
96
+ version: '0.3'
80
97
  - !ruby/object:Gem::Dependency
81
98
  name: gli
82
- requirement: &77466740 !ruby/object:Gem::Requirement
83
- none: false
99
+ requirement: !ruby/object:Gem::Requirement
84
100
  requirements:
85
101
  - - ! '>='
86
102
  - !ruby/object:Gem::Version
87
103
  version: 2.5.6
88
104
  type: :runtime
89
105
  prerelease: false
90
- version_requirements: *77466740
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ! '>='
109
+ - !ruby/object:Gem::Version
110
+ version: 2.5.6
91
111
  - !ruby/object:Gem::Dependency
92
112
  name: activerecord
93
- requirement: &77466550 !ruby/object:Gem::Requirement
94
- none: false
113
+ requirement: !ruby/object:Gem::Requirement
95
114
  requirements:
96
115
  - - ! '>='
97
116
  - !ruby/object:Gem::Version
98
117
  version: '0'
99
118
  type: :runtime
100
119
  prerelease: false
101
- version_requirements: *77466550
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ! '>='
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
102
125
  - !ruby/object:Gem::Dependency
103
126
  name: rdoc
104
- requirement: &77466140 !ruby/object:Gem::Requirement
105
- none: false
127
+ requirement: !ruby/object:Gem::Requirement
106
128
  requirements:
107
129
  - - ~>
108
130
  - !ruby/object:Gem::Version
109
131
  version: '4.0'
110
132
  type: :development
111
133
  prerelease: false
112
- version_requirements: *77466140
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ~>
137
+ - !ruby/object:Gem::Version
138
+ version: '4.0'
113
139
  - !ruby/object:Gem::Dependency
114
140
  name: hoe
115
- requirement: &77465690 !ruby/object:Gem::Requirement
116
- none: false
141
+ requirement: !ruby/object:Gem::Requirement
117
142
  requirements:
118
143
  - - ~>
119
144
  - !ruby/object:Gem::Version
120
- version: '3.11'
145
+ version: '3.10'
121
146
  type: :development
122
147
  prerelease: false
123
- version_requirements: *77465690
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ~>
151
+ - !ruby/object:Gem::Version
152
+ version: '3.10'
124
153
  description: sportdb - sport.db command line tool
125
154
  email: opensport@googlegroups.com
126
155
  executables:
@@ -259,6 +288,7 @@ files:
259
288
  homepage: https://github.com/geraldb/sport.db.ruby
260
289
  licenses:
261
290
  - Public Domain
291
+ metadata: {}
262
292
  post_install_message: ! '******************************************************************************
263
293
 
264
294
 
@@ -276,31 +306,29 @@ rdoc_options:
276
306
  require_paths:
277
307
  - lib
278
308
  required_ruby_version: !ruby/object:Gem::Requirement
279
- none: false
280
309
  requirements:
281
310
  - - ! '>='
282
311
  - !ruby/object:Gem::Version
283
312
  version: 1.9.2
284
313
  required_rubygems_version: !ruby/object:Gem::Requirement
285
- none: false
286
314
  requirements:
287
315
  - - ! '>='
288
316
  - !ruby/object:Gem::Version
289
317
  version: '0'
290
318
  requirements: []
291
319
  rubyforge_project:
292
- rubygems_version: 1.8.17
320
+ rubygems_version: 2.1.10
293
321
  signing_key:
294
- specification_version: 3
322
+ specification_version: 4
295
323
  summary: sportdb - sport.db command line tool
296
324
  test_files:
325
+ - test/test_changes.rb
326
+ - test/test_cursor.rb
297
327
  - test/test_date.rb
298
328
  - test/test_lang.rb
299
- - test/test_cursor.rb
300
- - test/test_scores.rb
301
- - test/test_winner.rb
329
+ - test/test_reader.rb
302
330
  - test/test_round_def.rb
303
- - test/test_utils.rb
304
331
  - test/test_round_header.rb
305
- - test/test_reader.rb
306
- - test/test_changes.rb
332
+ - test/test_scores.rb
333
+ - test/test_utils.rb
334
+ - test/test_winner.rb