sportdb-structs 0.1.0
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.
- checksums.yaml +7 -0
- data/CHANGELOG.md +3 -0
- data/Manifest.txt +29 -0
- data/README.md +29 -0
- data/Rakefile +33 -0
- data/lib/sportdb/structs.rb +125 -0
- data/lib/sportdb/structs/config.rb +39 -0
- data/lib/sportdb/structs/goal_parser_csv.rb +28 -0
- data/lib/sportdb/structs/match_parser_csv.rb +490 -0
- data/lib/sportdb/structs/match_status_parser.rb +90 -0
- data/lib/sportdb/structs/name_helper.rb +87 -0
- data/lib/sportdb/structs/season.rb +199 -0
- data/lib/sportdb/structs/structs/country.rb +26 -0
- data/lib/sportdb/structs/structs/goal.rb +231 -0
- data/lib/sportdb/structs/structs/group.rb +16 -0
- data/lib/sportdb/structs/structs/league.rb +35 -0
- data/lib/sportdb/structs/structs/match.rb +180 -0
- data/lib/sportdb/structs/structs/matchlist.rb +215 -0
- data/lib/sportdb/structs/structs/round.rb +23 -0
- data/lib/sportdb/structs/structs/standings.rb +271 -0
- data/lib/sportdb/structs/structs/team.rb +147 -0
- data/lib/sportdb/structs/structs/team_usage.rb +84 -0
- data/lib/sportdb/structs/version.rb +24 -0
- data/test/helper.rb +11 -0
- data/test/test_clubs.rb +38 -0
- data/test/test_csv_reader.rb +30 -0
- data/test/test_match.rb +30 -0
- data/test/test_match_status_parser.rb +57 -0
- data/test/test_name_helper.rb +65 -0
- data/test/test_season.rb +141 -0
- metadata +177 -0
@@ -0,0 +1,24 @@
|
|
1
|
+
|
2
|
+
module SportDb
|
3
|
+
module Module
|
4
|
+
module Structs
|
5
|
+
MAJOR = 0 ## todo: namespace inside version or something - why? why not??
|
6
|
+
MINOR = 1
|
7
|
+
PATCH = 0
|
8
|
+
VERSION = [MAJOR,MINOR,PATCH].join('.')
|
9
|
+
|
10
|
+
def self.version
|
11
|
+
VERSION
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.banner
|
15
|
+
"sportdb-structs/#{VERSION} on Ruby #{RUBY_VERSION} (#{RUBY_RELEASE_DATE}) [#{RUBY_PLATFORM}]"
|
16
|
+
end
|
17
|
+
|
18
|
+
def self.root
|
19
|
+
File.expand_path( File.dirname(File.dirname(File.dirname(__FILE__))) )
|
20
|
+
end
|
21
|
+
|
22
|
+
end # module Structs
|
23
|
+
end
|
24
|
+
end
|
data/test/helper.rb
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
## note: use the local version of sportdb gems
|
2
|
+
$LOAD_PATH.unshift( File.expand_path( '../date-formats/lib' ))
|
3
|
+
$LOAD_PATH.unshift( File.expand_path( '../score-formats/lib' ))
|
4
|
+
|
5
|
+
## minitest setup
|
6
|
+
require 'minitest/autorun'
|
7
|
+
|
8
|
+
|
9
|
+
## our own code
|
10
|
+
require 'sportdb/structs'
|
11
|
+
|
data/test/test_clubs.rb
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
###
|
2
|
+
# to run use
|
3
|
+
# ruby -I ./lib -I ./test test/test_clubs.rb
|
4
|
+
|
5
|
+
|
6
|
+
require 'helper'
|
7
|
+
|
8
|
+
class TestClubs < MiniTest::Test
|
9
|
+
|
10
|
+
Club = Sports::Club
|
11
|
+
|
12
|
+
|
13
|
+
def test_new
|
14
|
+
club = Club.new( name: 'Rapid Wien' )
|
15
|
+
|
16
|
+
assert_equal 'Rapid Wien', club.name
|
17
|
+
assert_equal ['Rapid Wien'], club.names
|
18
|
+
end
|
19
|
+
|
20
|
+
def test_duplicates
|
21
|
+
club = Club.new
|
22
|
+
club.name = 'Rapid Wien'
|
23
|
+
|
24
|
+
assert_equal false, club.duplicates?
|
25
|
+
duplicates = {}
|
26
|
+
assert_equal duplicates, club.duplicates
|
27
|
+
|
28
|
+
club.alt_names_auto += ['Rapid', 'Rapid Wien', 'SK Rapid Wien']
|
29
|
+
|
30
|
+
pp club
|
31
|
+
|
32
|
+
assert_equal true, club.duplicates?
|
33
|
+
duplicates = {'rapidwien'=>['Rapid Wien','Rapid Wien']}
|
34
|
+
pp club.duplicates
|
35
|
+
assert_equal duplicates, club.duplicates
|
36
|
+
end
|
37
|
+
|
38
|
+
end # class TestClubs
|
@@ -0,0 +1,30 @@
|
|
1
|
+
###
|
2
|
+
# to run use
|
3
|
+
# ruby -I ./lib -I ./test test/test_csv_reader.rb
|
4
|
+
|
5
|
+
|
6
|
+
require 'helper'
|
7
|
+
|
8
|
+
|
9
|
+
class TestCsvReader < MiniTest::Test
|
10
|
+
|
11
|
+
def test_parse
|
12
|
+
recs = parse_csv( <<TXT )
|
13
|
+
### World Countries
|
14
|
+
|
15
|
+
Key, Code, Name
|
16
|
+
af, AFG, Afghanistan
|
17
|
+
al, ALB, Albania
|
18
|
+
dz, ALG, Algeria
|
19
|
+
as, ASA, American Samoa (US)
|
20
|
+
TXT
|
21
|
+
|
22
|
+
pp recs
|
23
|
+
assert_equal [{ 'Key' => 'af', 'Code' => 'AFG', 'Name' => 'Afghanistan'},
|
24
|
+
{ 'Key' => 'al', 'Code' => 'ALB', 'Name' => 'Albania'},
|
25
|
+
{ 'Key' => 'dz', 'Code' => 'ALG', 'Name' => 'Algeria'},
|
26
|
+
{ 'Key' => 'as', 'Code' => 'ASA', 'Name' => 'American Samoa (US)'},
|
27
|
+
], recs[0..3]
|
28
|
+
end
|
29
|
+
|
30
|
+
end # class TestCsvReader
|
data/test/test_match.rb
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
###
|
4
|
+
# to run use
|
5
|
+
# ruby -I ./lib -I ./test test/test_match.rb
|
6
|
+
|
7
|
+
|
8
|
+
require 'helper'
|
9
|
+
|
10
|
+
class TestMatch < MiniTest::Test
|
11
|
+
|
12
|
+
Match = Sports::Match
|
13
|
+
|
14
|
+
|
15
|
+
def test_round
|
16
|
+
m = Match.new( team1: 'Team 1',
|
17
|
+
team2: 'Team 2',
|
18
|
+
round: 3 )
|
19
|
+
pp m
|
20
|
+
assert_equal 3, m.round
|
21
|
+
assert_nil m.score1
|
22
|
+
assert_nil m.score2
|
23
|
+
|
24
|
+
m = Match.new
|
25
|
+
m.update( round: 4 )
|
26
|
+
pp m
|
27
|
+
assert_equal 4, m.round
|
28
|
+
end # method test_round
|
29
|
+
|
30
|
+
end # class TestMatch
|
@@ -0,0 +1,57 @@
|
|
1
|
+
###
|
2
|
+
# to run use
|
3
|
+
# ruby -I ./lib -I ./test test/test_match_status_parser.rb
|
4
|
+
|
5
|
+
|
6
|
+
require 'helper'
|
7
|
+
|
8
|
+
|
9
|
+
class TestMatchStatusParser < MiniTest::Test
|
10
|
+
|
11
|
+
Status = SportDb::Status
|
12
|
+
StatusParser = SportDb::StatusParser
|
13
|
+
|
14
|
+
def test_find
|
15
|
+
[['awarded [cancelled] canceled [ddd]', Status::CANCELLED],
|
16
|
+
['awarded [bbb; canceled] canceled [awarded; comments] eeee', Status::AWARDED],
|
17
|
+
['aaa bbb ccc ddd eeee', nil],
|
18
|
+
].each do |rec|
|
19
|
+
line = rec[0]
|
20
|
+
status_exp = rec[1]
|
21
|
+
puts "line (before): >#{line}<"
|
22
|
+
status = StatusParser.find!( line )
|
23
|
+
puts "status: >#{status}<"
|
24
|
+
puts "line (after): >#{line}<"
|
25
|
+
puts
|
26
|
+
|
27
|
+
if status_exp.nil?
|
28
|
+
assert_nil status
|
29
|
+
else
|
30
|
+
assert_equal status_exp, status
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end # method test_find
|
34
|
+
|
35
|
+
def test_parse
|
36
|
+
[['cancelled ddd', Status::CANCELLED],
|
37
|
+
['CANCELLED', Status::CANCELLED],
|
38
|
+
['can.', Status::CANCELLED],
|
39
|
+
['awarded; comments', Status::AWARDED],
|
40
|
+
['awd. - comments', Status::AWARDED],
|
41
|
+
['aaa bbb ccc ddd eeee', nil],
|
42
|
+
].each do |rec|
|
43
|
+
str = rec[0]
|
44
|
+
status_exp = rec[1]
|
45
|
+
status = StatusParser.parse( str )
|
46
|
+
|
47
|
+
if status_exp.nil? ## for "silencing" minitest warning - Use assert_nil if expecting nil
|
48
|
+
assert_nil status
|
49
|
+
else
|
50
|
+
assert_equal status_exp, status
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
end # class TestMatchStatusParser
|
56
|
+
|
57
|
+
|
@@ -0,0 +1,65 @@
|
|
1
|
+
###
|
2
|
+
# to run use
|
3
|
+
# ruby -I ./lib -I ./test test/test_name_helper.rb
|
4
|
+
|
5
|
+
|
6
|
+
require 'helper'
|
7
|
+
|
8
|
+
|
9
|
+
class TestNameHelper < MiniTest::Test
|
10
|
+
|
11
|
+
include SportDb::NameHelper
|
12
|
+
|
13
|
+
|
14
|
+
def test_strip_norm ## strip (remove) non-norm characters e.g. ()'- etc.
|
15
|
+
[['Estudiantes (LP)', 'Estudiantes LP'],
|
16
|
+
['Central Córdoba (SdE)', 'Central Córdoba SdE'],
|
17
|
+
['Saint Patrick’s Athletic FC', 'Saint Patricks Athletic FC'],
|
18
|
+
['Myllykosken Pallo −47', 'Myllykosken Pallo 47'],
|
19
|
+
].each do |rec|
|
20
|
+
assert_equal rec[1], strip_norm( rec[0] )
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_strip_year
|
25
|
+
[['A (1911-1912)', 'A'],
|
26
|
+
['B (1911-1912, 1913-1915)', 'B'],
|
27
|
+
['C (1911-___)', 'C'],
|
28
|
+
['D (1911-???)', 'D'],
|
29
|
+
['FC Linz (1946-2001, 2013-)', 'FC Linz'],
|
30
|
+
['Admira Wien (-????)', 'Admira Wien'],
|
31
|
+
['Admira Wien (-____)', 'Admira Wien'],
|
32
|
+
].each do |rec|
|
33
|
+
assert_equal rec[1], strip_year( rec[0] )
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
def test_strip_lang
|
38
|
+
[['Bayern Munich [en]', 'Bayern Munich'],
|
39
|
+
].each do |rec|
|
40
|
+
assert_equal rec[1], strip_lang( rec[0] )
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
|
45
|
+
def test_variants
|
46
|
+
## hungarian
|
47
|
+
assert_equal ['Raba ETO Gyor'], variants( 'Rába ETO Győr' )
|
48
|
+
assert_equal ['Raba ETO Gyor', 'Rába ETO Gyoer'], variants( 'Rába ETO Györ' )
|
49
|
+
|
50
|
+
## romanian
|
51
|
+
assert_equal ['Targu Mures'], variants( 'Târgu Mureș' )
|
52
|
+
assert_equal ['Targu Mures'], variants( 'Târgu Mureş' )
|
53
|
+
end
|
54
|
+
|
55
|
+
|
56
|
+
=begin
|
57
|
+
### fix: move to ClubReader!!!!! not for general use
|
58
|
+
def test_wiki
|
59
|
+
assert_equal 'FC Wacker Innsbruck', strip_wiki( 'FC Wacker Innsbruck (2002)' )
|
60
|
+
assert_equal 'SK Austria Klagenfurt', strip_wiki( 'SK Austria Klagenfurt (2007)' )
|
61
|
+
|
62
|
+
assert_equal 'Willem II', strip_wiki( 'Willem II (football club)' )
|
63
|
+
end
|
64
|
+
=end
|
65
|
+
end # class TestNameHelper
|
data/test/test_season.rb
ADDED
@@ -0,0 +1,141 @@
|
|
1
|
+
###
|
2
|
+
# to run use
|
3
|
+
# ruby -I ./lib -I ./test test/test_season.rb
|
4
|
+
|
5
|
+
|
6
|
+
require 'helper'
|
7
|
+
|
8
|
+
class TestSeason < MiniTest::Test
|
9
|
+
|
10
|
+
|
11
|
+
def test_to_path
|
12
|
+
assert_equal '2010-11', Season( '2010-11' ).to_path
|
13
|
+
assert_equal '2010-11', Season( '2010-2011' ).to_path
|
14
|
+
assert_equal '2010-11', Season( '2010/11' ).to_path
|
15
|
+
assert_equal '2010-11', Season( '2010/1' ).to_path
|
16
|
+
assert_equal '2010-11', Season( '2010/2011' ).to_path
|
17
|
+
assert_equal '2010', Season( '2010' ).to_path
|
18
|
+
|
19
|
+
assert_equal '2010-11', Season( 2010, 2011 ).to_path
|
20
|
+
assert_equal '2010-11', Season( 2010_2011 ).to_path
|
21
|
+
assert_equal '2010-11', Season( 20102011 ).to_path
|
22
|
+
assert_equal '2010-11', Season( 201011 ).to_path
|
23
|
+
assert_equal '2010-11', Season( 20101 ).to_path
|
24
|
+
assert_equal '2010', Season( 2010 ).to_path
|
25
|
+
|
26
|
+
assert_equal '2010s/2010-11', Season( '2010-11' ).to_path( :decade )
|
27
|
+
assert_equal '2010s/2010-11', Season( '2010-2011' ).to_path( :decade )
|
28
|
+
assert_equal '2010s/2010', Season( '2010' ).to_path( :decade )
|
29
|
+
|
30
|
+
assert_equal '1999-00', Season( '1999-00' ).to_path
|
31
|
+
assert_equal '1999-00', Season( '1999-2000' ).to_path
|
32
|
+
assert_equal '1990s/1999-00', Season( '1999-00' ).to_path( :decade )
|
33
|
+
assert_equal '1990s/1999-00', Season( '1999-2000' ).to_path( :decade )
|
34
|
+
|
35
|
+
assert_equal '2000s/2010-11', Season( '2010-11' ).to_path( :century )
|
36
|
+
assert_equal '2000s/2010-11', Season( '2010-2011' ).to_path( :century )
|
37
|
+
assert_equal '2000s/2010', Season( '2010' ).to_path( :century )
|
38
|
+
|
39
|
+
assert_equal '1900s/1999-00', Season( '1999-00' ).to_path( :century )
|
40
|
+
assert_equal '1900s/1999-00', Season( '1999-2000' ).to_path( :century )
|
41
|
+
end # method test_to_path
|
42
|
+
|
43
|
+
|
44
|
+
def test_key
|
45
|
+
assert_equal '2010/11', Season( '2010-11' ).key
|
46
|
+
assert_equal '2010/11', Season( '2010-2011' ).key
|
47
|
+
assert_equal '2010/11', Season( '2010/11' ).key
|
48
|
+
assert_equal '2010/11', Season( '2010/1' ).key
|
49
|
+
assert_equal '2010/11', Season( '2010/2011' ).key
|
50
|
+
assert_equal '2010', Season( '2010' ).key
|
51
|
+
|
52
|
+
assert_equal '1999/00', Season( '1999-00' ).key
|
53
|
+
assert_equal '1999/00', Season( '1999-2000' ).key
|
54
|
+
end # method test_key
|
55
|
+
|
56
|
+
|
57
|
+
def test_years
|
58
|
+
[Season( '1999-00' ),
|
59
|
+
Season( '1999/00' ),
|
60
|
+
Season( '1999/2000' ),
|
61
|
+
Season( 1999, 2000 ),
|
62
|
+
Season( 1999_00 ), ## allow "hacky" shortcuts - why? why not?
|
63
|
+
Season( 1999_2000 ),
|
64
|
+
].each do |season|
|
65
|
+
assert_equal 1999, season.start_year
|
66
|
+
assert_equal 2000, season.end_year
|
67
|
+
end
|
68
|
+
|
69
|
+
[Season( '2010/1' ),
|
70
|
+
Season( '2010/11' ),
|
71
|
+
Season( 201011 ), ## allow "hacky" shortcuts - why? why not?
|
72
|
+
Season( 20102011 ),
|
73
|
+
].each do |season|
|
74
|
+
assert_equal 2010, season.start_year
|
75
|
+
assert_equal 2011, season.end_year
|
76
|
+
end
|
77
|
+
|
78
|
+
[Season( '1999' ),
|
79
|
+
Season( 1999 ),
|
80
|
+
].each do |season|
|
81
|
+
assert_equal 1999, season.start_year
|
82
|
+
assert_equal 1999, season.end_year
|
83
|
+
end
|
84
|
+
|
85
|
+
[Season( '2010' ),
|
86
|
+
Season( 2010 ),
|
87
|
+
].each do |season|
|
88
|
+
assert_equal 2010, season.start_year
|
89
|
+
assert_equal 2010, season.end_year
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
93
|
+
|
94
|
+
def test_prev
|
95
|
+
assert_equal '2009/10', Season( '2010-11' ).prev.key
|
96
|
+
assert_equal '2009/10', Season( '2010-2011' ).prev.key
|
97
|
+
assert_equal '2009', Season( '2010' ).prev.key
|
98
|
+
|
99
|
+
assert_equal '1998/99', Season( '1999-00' ).prev.key
|
100
|
+
assert_equal '1998/99', Season( '1999-2000' ).prev.key
|
101
|
+
end
|
102
|
+
|
103
|
+
def test_next
|
104
|
+
assert_equal '2009/10', Season( '2008-09' ).next.key
|
105
|
+
assert_equal '2009/10', Season( '2008-2009' ).next.key
|
106
|
+
assert_equal '2009', Season( '2008' ).next.key
|
107
|
+
|
108
|
+
assert_equal '1998/99', Season( '1997-98' ).next.key
|
109
|
+
assert_equal '1998/99', Season( '1997-1998' ).next.key
|
110
|
+
end
|
111
|
+
|
112
|
+
|
113
|
+
def test_range
|
114
|
+
s2010 = Season( '2010' )..Season( '2019' )
|
115
|
+
pp s2010.to_a
|
116
|
+
# => [2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019]
|
117
|
+
|
118
|
+
s2010 = Season( '2010-11')..Season( '2019-20')
|
119
|
+
pp s2010.to_a
|
120
|
+
# => [2010/11, 2011/12, 2012/13, 2013/14, 2014/15,
|
121
|
+
# 2015/16, 2016/17, 2017/18, 2018/19, 2019/20]
|
122
|
+
|
123
|
+
puts s2010 === Season( '2015-16' ) # true
|
124
|
+
puts s2010 === Season( '2015' ) # !!!! false - why? if using >= <=
|
125
|
+
puts s2010 === Season( '1999-00' ) # false
|
126
|
+
puts s2010 === Season( '2020-21' ) # false
|
127
|
+
|
128
|
+
puts
|
129
|
+
puts s2010.include? Season( '2015-16' ) # true
|
130
|
+
puts s2010.include? Season( '2015' ) # !!! false
|
131
|
+
puts s2010.include? Season( '1999-00' ) # false
|
132
|
+
|
133
|
+
assert_equal true, Season( '2010-11' ) < Season( '2015' )
|
134
|
+
assert_equal true, Season( '2015' ) < Season( '2019-20' )
|
135
|
+
|
136
|
+
assert_equal false, Season( '2015' ) == Season( '2015-16' )
|
137
|
+
assert_equal true, Season( '2015' ) < Season( '2015-16' )
|
138
|
+
assert_equal true, Season( '2015' ) == Season( '2015' )
|
139
|
+
end
|
140
|
+
|
141
|
+
end # class TestSeason
|
metadata
ADDED
@@ -0,0 +1,177 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: sportdb-structs
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Gerald Bauer
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2020-08-24 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: alphabets
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 1.0.0
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 1.0.0
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: date-formats
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 1.0.1
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 1.0.1
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: score-formats
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 0.1.0
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 0.1.0
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: csvreader
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 1.2.4
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 1.2.4
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: sportdb-langs
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: 0.1.1
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 0.1.1
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rdoc
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '4.0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '4.0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: hoe
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '3.16'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '3.16'
|
111
|
+
description: sportdb-structs - sport data structures for matches, scores, leagues,
|
112
|
+
seasons, rounds, groups, teams, clubs and more
|
113
|
+
email: opensport@googlegroups.com
|
114
|
+
executables: []
|
115
|
+
extensions: []
|
116
|
+
extra_rdoc_files:
|
117
|
+
- CHANGELOG.md
|
118
|
+
- Manifest.txt
|
119
|
+
- README.md
|
120
|
+
files:
|
121
|
+
- CHANGELOG.md
|
122
|
+
- Manifest.txt
|
123
|
+
- README.md
|
124
|
+
- Rakefile
|
125
|
+
- lib/sportdb/structs.rb
|
126
|
+
- lib/sportdb/structs/config.rb
|
127
|
+
- lib/sportdb/structs/goal_parser_csv.rb
|
128
|
+
- lib/sportdb/structs/match_parser_csv.rb
|
129
|
+
- lib/sportdb/structs/match_status_parser.rb
|
130
|
+
- lib/sportdb/structs/name_helper.rb
|
131
|
+
- lib/sportdb/structs/season.rb
|
132
|
+
- lib/sportdb/structs/structs/country.rb
|
133
|
+
- lib/sportdb/structs/structs/goal.rb
|
134
|
+
- lib/sportdb/structs/structs/group.rb
|
135
|
+
- lib/sportdb/structs/structs/league.rb
|
136
|
+
- lib/sportdb/structs/structs/match.rb
|
137
|
+
- lib/sportdb/structs/structs/matchlist.rb
|
138
|
+
- lib/sportdb/structs/structs/round.rb
|
139
|
+
- lib/sportdb/structs/structs/standings.rb
|
140
|
+
- lib/sportdb/structs/structs/team.rb
|
141
|
+
- lib/sportdb/structs/structs/team_usage.rb
|
142
|
+
- lib/sportdb/structs/version.rb
|
143
|
+
- test/helper.rb
|
144
|
+
- test/test_clubs.rb
|
145
|
+
- test/test_csv_reader.rb
|
146
|
+
- test/test_match.rb
|
147
|
+
- test/test_match_status_parser.rb
|
148
|
+
- test/test_name_helper.rb
|
149
|
+
- test/test_season.rb
|
150
|
+
homepage: https://github.com/sportdb/sport.db
|
151
|
+
licenses:
|
152
|
+
- Public Domain
|
153
|
+
metadata: {}
|
154
|
+
post_install_message:
|
155
|
+
rdoc_options:
|
156
|
+
- "--main"
|
157
|
+
- README.md
|
158
|
+
require_paths:
|
159
|
+
- lib
|
160
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
161
|
+
requirements:
|
162
|
+
- - ">="
|
163
|
+
- !ruby/object:Gem::Version
|
164
|
+
version: 2.2.2
|
165
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
166
|
+
requirements:
|
167
|
+
- - ">="
|
168
|
+
- !ruby/object:Gem::Version
|
169
|
+
version: '0'
|
170
|
+
requirements: []
|
171
|
+
rubyforge_project:
|
172
|
+
rubygems_version: 2.5.2
|
173
|
+
signing_key:
|
174
|
+
specification_version: 4
|
175
|
+
summary: sportdb-structs - sport data structures for matches, scores, leagues, seasons,
|
176
|
+
rounds, groups, teams, clubs and more
|
177
|
+
test_files: []
|