sports 0.1.0 → 0.2.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 +5 -5
- data/CHANGELOG.md +1 -0
- data/Manifest.txt +0 -23
- data/README.md +3 -7
- data/Rakefile +4 -7
- data/lib/sports/version.rb +2 -2
- data/lib/sports.rb +5 -72
- metadata +20 -80
- data/lib/sports/config.rb +0 -40
- data/lib/sports/goal_parser_csv.rb +0 -28
- data/lib/sports/match_parser_csv.rb +0 -490
- data/lib/sports/match_status_parser.rb +0 -90
- data/lib/sports/name_helper.rb +0 -87
- data/lib/sports/season.rb +0 -199
- data/lib/sports/structs/country.rb +0 -26
- data/lib/sports/structs/goal.rb +0 -231
- data/lib/sports/structs/group.rb +0 -16
- data/lib/sports/structs/league.rb +0 -35
- data/lib/sports/structs/match.rb +0 -180
- data/lib/sports/structs/matchlist.rb +0 -215
- data/lib/sports/structs/round.rb +0 -23
- data/lib/sports/structs/standings.rb +0 -271
- data/lib/sports/structs/team.rb +0 -147
- data/lib/sports/structs/team_usage.rb +0 -84
- data/test/helper.rb +0 -12
- data/test/test_clubs.rb +0 -38
- data/test/test_csv_reader.rb +0 -30
- data/test/test_match.rb +0 -30
- data/test/test_match_status_parser.rb +0 -57
- data/test/test_name_helper.rb +0 -65
- data/test/test_season.rb +0 -141
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: fcf596fa5de8979932ac959ba21a72b4a70d68fd39ef4b27e7b4d53455e94718
|
4
|
+
data.tar.gz: 00f5eabef3fcbc130cab8b8a6144b4752af8948ee13a756879a34444d28e669f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '096dde8696ce224b2da68613b98e5a50f2db8dd49a01e898a1c7be81c67dd586cc6f3415294479f7286359706cebd507a0aaa5c50dce3c00a6601a28f1d0dcf6'
|
7
|
+
data.tar.gz: 8961ba79a40f424d4aadbed68b409560a069fb749b1f8aa4d2e4157549e3504a7fc0baf57e9df343abbd8664760aafc16678ca9816ef6fa3b0a4bfa317a70d73
|
data/CHANGELOG.md
CHANGED
data/Manifest.txt
CHANGED
@@ -3,27 +3,4 @@ Manifest.txt
|
|
3
3
|
README.md
|
4
4
|
Rakefile
|
5
5
|
lib/sports.rb
|
6
|
-
lib/sports/config.rb
|
7
|
-
lib/sports/goal_parser_csv.rb
|
8
|
-
lib/sports/match_parser_csv.rb
|
9
|
-
lib/sports/match_status_parser.rb
|
10
|
-
lib/sports/name_helper.rb
|
11
|
-
lib/sports/season.rb
|
12
|
-
lib/sports/structs/country.rb
|
13
|
-
lib/sports/structs/goal.rb
|
14
|
-
lib/sports/structs/group.rb
|
15
|
-
lib/sports/structs/league.rb
|
16
|
-
lib/sports/structs/match.rb
|
17
|
-
lib/sports/structs/matchlist.rb
|
18
|
-
lib/sports/structs/round.rb
|
19
|
-
lib/sports/structs/standings.rb
|
20
|
-
lib/sports/structs/team.rb
|
21
|
-
lib/sports/structs/team_usage.rb
|
22
6
|
lib/sports/version.rb
|
23
|
-
test/helper.rb
|
24
|
-
test/test_clubs.rb
|
25
|
-
test/test_csv_reader.rb
|
26
|
-
test/test_match.rb
|
27
|
-
test/test_match_status_parser.rb
|
28
|
-
test/test_name_helper.rb
|
29
|
-
test/test_season.rb
|
data/README.md
CHANGED
@@ -5,7 +5,6 @@
|
|
5
5
|
* bugs :: [github.com/sportdb/sport.db/issues](https://github.com/sportdb/sport.db/issues)
|
6
6
|
* gem :: [rubygems.org/gems/sports](https://rubygems.org/gems/sports)
|
7
7
|
* rdoc :: [rubydoc.info/gems/sports](http://rubydoc.info/gems/sports)
|
8
|
-
* forum :: [opensport](http://groups.google.com/group/opensport)
|
9
8
|
|
10
9
|
|
11
10
|
|
@@ -74,9 +73,6 @@ Read in all matches with the `Match.read_csv` method from the sports library / g
|
|
74
73
|
``` ruby
|
75
74
|
require 'sports'
|
76
75
|
|
77
|
-
include Sports ## include Match, Team, Standings, etc. data classes
|
78
|
-
|
79
|
-
|
80
76
|
matches = Match.read_csv( 'england/2010s/2019-20/eng.1.csv' )
|
81
77
|
pp matches.size #=> 380
|
82
78
|
pp matches
|
@@ -291,6 +287,7 @@ or add the gem to your Gemfile
|
|
291
287
|
gem 'sports'
|
292
288
|
|
293
289
|
|
290
|
+
|
294
291
|
## License
|
295
292
|
|
296
293
|
The `sports` scripts are dedicated to the public domain.
|
@@ -299,6 +296,5 @@ Use it as you please with no restrictions whatsoever.
|
|
299
296
|
|
300
297
|
## Questions? Comments?
|
301
298
|
|
302
|
-
|
303
|
-
[
|
304
|
-
Thanks!
|
299
|
+
Yes, you can. More than welcome.
|
300
|
+
See [Help & Support »](https://github.com/openfootball/help)
|
data/Rakefile
CHANGED
@@ -8,10 +8,10 @@ Hoe.spec 'sports' do
|
|
8
8
|
self.summary = "sports - sport data structures for matches, scores, leagues, seasons, rounds, groups, teams, clubs and more"
|
9
9
|
self.description = summary
|
10
10
|
|
11
|
-
self.urls =
|
11
|
+
self.urls = { home: 'https://github.com/sportdb/sport.db' }
|
12
12
|
|
13
13
|
self.author = 'Gerald Bauer'
|
14
|
-
self.email = '
|
14
|
+
self.email = 'gerald.bauer@gmail.com'
|
15
15
|
|
16
16
|
# switch extension to .markdown for gihub formatting
|
17
17
|
self.readme_file = 'README.md'
|
@@ -20,13 +20,10 @@ Hoe.spec 'sports' do
|
|
20
20
|
self.licenses = ['Public Domain']
|
21
21
|
|
22
22
|
self.extra_deps = [
|
23
|
-
['
|
24
|
-
['date-formats', '>= 1.0.1'],
|
25
|
-
['score-formats', '>= 0.1.0'],
|
26
|
-
['csvreader', '>= 1.2.4'],
|
23
|
+
['sportdb-structs', '>= 0.5.0'],
|
27
24
|
]
|
28
25
|
|
29
26
|
self.spec_extras = {
|
30
|
-
required_ruby_version: '>=
|
27
|
+
required_ruby_version: '>= 3.1.0'
|
31
28
|
}
|
32
29
|
end
|
data/lib/sports/version.rb
CHANGED
@@ -3,7 +3,7 @@ module SportDb
|
|
3
3
|
module Module
|
4
4
|
module Sports
|
5
5
|
MAJOR = 0 ## todo: namespace inside version or something - why? why not??
|
6
|
-
MINOR =
|
6
|
+
MINOR = 2
|
7
7
|
PATCH = 0
|
8
8
|
VERSION = [MAJOR,MINOR,PATCH].join('.')
|
9
9
|
|
@@ -12,7 +12,7 @@ module SportDb
|
|
12
12
|
end
|
13
13
|
|
14
14
|
def self.banner
|
15
|
-
"sports/#{VERSION} on Ruby #{RUBY_VERSION} (#{RUBY_RELEASE_DATE}) [#{RUBY_PLATFORM}]"
|
15
|
+
"sports/#{VERSION} on Ruby #{RUBY_VERSION} (#{RUBY_RELEASE_DATE}) [#{RUBY_PLATFORM}] in (#{root})"
|
16
16
|
end
|
17
17
|
|
18
18
|
def self.root
|
data/lib/sports.rb
CHANGED
@@ -1,82 +1,15 @@
|
|
1
1
|
## 3rd party gems
|
2
|
-
require '
|
3
|
-
require 'date/formats' # DateFormats.parse, find!, ...
|
4
|
-
require 'score/formats'
|
5
|
-
require 'csvreader'
|
6
|
-
|
7
|
-
|
8
|
-
def read_csv( path, sep: nil,
|
9
|
-
symbolize_names: nil )
|
10
|
-
opts = {}
|
11
|
-
opts[:sep] = sep if sep
|
12
|
-
opts[:header_converters] = :symbol if symbolize_names
|
13
|
-
|
14
|
-
CsvHash.read( path, **opts )
|
15
|
-
end
|
16
|
-
|
17
|
-
def parse_csv( txt, sep: nil,
|
18
|
-
symbolize_names: nil )
|
19
|
-
opts = {}
|
20
|
-
opts[:sep] = sep if sep
|
21
|
-
opts[:header_converters] = :symbol if symbolize_names
|
22
|
-
|
23
|
-
CsvHash.parse( txt, **opts )
|
24
|
-
end
|
2
|
+
require 'sportdb/structs'
|
25
3
|
|
26
4
|
|
27
5
|
###
|
28
6
|
# our own code
|
29
|
-
|
30
|
-
require 'sports/config'
|
31
|
-
require 'sports/season'
|
32
|
-
|
33
|
-
require 'sports/name_helper'
|
34
|
-
|
35
|
-
require 'sports/structs/country'
|
36
|
-
require 'sports/structs/league'
|
37
|
-
require 'sports/structs/team'
|
38
|
-
require 'sports/structs/round'
|
39
|
-
require 'sports/structs/group'
|
40
|
-
require 'sports/structs/goal'
|
41
|
-
require 'sports/structs/match'
|
42
|
-
require 'sports/structs/matchlist'
|
43
|
-
require 'sports/structs/standings'
|
44
|
-
require 'sports/structs/team_usage'
|
7
|
+
require_relative 'sports/version' # let version always go first
|
45
8
|
|
46
9
|
|
47
|
-
|
48
|
-
|
49
|
-
|
10
|
+
# auto-include to "top-level" data struct(ures) / classes e.g.
|
11
|
+
# Match, Team, Standings, etc.
|
12
|
+
include Sports
|
50
13
|
|
51
14
|
|
52
|
-
### add convenience shortcut helpers
|
53
|
-
module Sports
|
54
|
-
class Match
|
55
|
-
def self.read_csv( path, headers: nil, filters: nil, converters: nil, sep: nil )
|
56
|
-
SportDb::CsvMatchParser.read( path,
|
57
|
-
headers: headers,
|
58
|
-
filters: filters,
|
59
|
-
converters: converters,
|
60
|
-
sep: sep )
|
61
|
-
end
|
62
|
-
|
63
|
-
def self.parse_csv( txt, headers: nil, filters: nil, converters: nil, sep: nil )
|
64
|
-
SportDb::CsvMatchParser.parse( txt,
|
65
|
-
headers: headers,
|
66
|
-
filters: filters,
|
67
|
-
converters: converters,
|
68
|
-
sep: sep )
|
69
|
-
end
|
70
|
-
end # class Match
|
71
|
-
end # module Sports
|
72
|
-
|
73
|
-
|
74
|
-
#####
|
75
|
-
# note: add Sport and Football convenience alias - why? why not?
|
76
|
-
|
77
|
-
Sport = Sports
|
78
|
-
Football = Sports
|
79
|
-
|
80
15
|
puts SportDb::Module::Sports.banner # say hello
|
81
|
-
|
82
|
-
|
metadata
CHANGED
@@ -1,102 +1,66 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sports
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gerald Bauer
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-12-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: sportdb-structs
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 0.5.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 0.5.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
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
|
28
|
+
name: rdoc
|
43
29
|
requirement: !ruby/object:Gem::Requirement
|
44
30
|
requirements:
|
45
31
|
- - ">="
|
46
32
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
48
|
-
|
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
|
-
- - ">="
|
33
|
+
version: '4.0'
|
34
|
+
- - "<"
|
60
35
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
62
|
-
type: :
|
36
|
+
version: '7'
|
37
|
+
type: :development
|
63
38
|
prerelease: false
|
64
39
|
version_requirements: !ruby/object:Gem::Requirement
|
65
40
|
requirements:
|
66
41
|
- - ">="
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: 1.2.4
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: rdoc
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - "~>"
|
74
42
|
- !ruby/object:Gem::Version
|
75
43
|
version: '4.0'
|
76
|
-
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - "~>"
|
44
|
+
- - "<"
|
81
45
|
- !ruby/object:Gem::Version
|
82
|
-
version: '
|
46
|
+
version: '7'
|
83
47
|
- !ruby/object:Gem::Dependency
|
84
48
|
name: hoe
|
85
49
|
requirement: !ruby/object:Gem::Requirement
|
86
50
|
requirements:
|
87
51
|
- - "~>"
|
88
52
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
53
|
+
version: '4.2'
|
90
54
|
type: :development
|
91
55
|
prerelease: false
|
92
56
|
version_requirements: !ruby/object:Gem::Requirement
|
93
57
|
requirements:
|
94
58
|
- - "~>"
|
95
59
|
- !ruby/object:Gem::Version
|
96
|
-
version: '
|
60
|
+
version: '4.2'
|
97
61
|
description: sports - sport data structures for matches, scores, leagues, seasons,
|
98
62
|
rounds, groups, teams, clubs and more
|
99
|
-
email:
|
63
|
+
email: gerald.bauer@gmail.com
|
100
64
|
executables: []
|
101
65
|
extensions: []
|
102
66
|
extra_rdoc_files:
|
@@ -109,35 +73,12 @@ files:
|
|
109
73
|
- README.md
|
110
74
|
- Rakefile
|
111
75
|
- lib/sports.rb
|
112
|
-
- lib/sports/config.rb
|
113
|
-
- lib/sports/goal_parser_csv.rb
|
114
|
-
- lib/sports/match_parser_csv.rb
|
115
|
-
- lib/sports/match_status_parser.rb
|
116
|
-
- lib/sports/name_helper.rb
|
117
|
-
- lib/sports/season.rb
|
118
|
-
- lib/sports/structs/country.rb
|
119
|
-
- lib/sports/structs/goal.rb
|
120
|
-
- lib/sports/structs/group.rb
|
121
|
-
- lib/sports/structs/league.rb
|
122
|
-
- lib/sports/structs/match.rb
|
123
|
-
- lib/sports/structs/matchlist.rb
|
124
|
-
- lib/sports/structs/round.rb
|
125
|
-
- lib/sports/structs/standings.rb
|
126
|
-
- lib/sports/structs/team.rb
|
127
|
-
- lib/sports/structs/team_usage.rb
|
128
76
|
- lib/sports/version.rb
|
129
|
-
- test/helper.rb
|
130
|
-
- test/test_clubs.rb
|
131
|
-
- test/test_csv_reader.rb
|
132
|
-
- test/test_match.rb
|
133
|
-
- test/test_match_status_parser.rb
|
134
|
-
- test/test_name_helper.rb
|
135
|
-
- test/test_season.rb
|
136
77
|
homepage: https://github.com/sportdb/sport.db
|
137
78
|
licenses:
|
138
79
|
- Public Domain
|
139
80
|
metadata: {}
|
140
|
-
post_install_message:
|
81
|
+
post_install_message:
|
141
82
|
rdoc_options:
|
142
83
|
- "--main"
|
143
84
|
- README.md
|
@@ -147,16 +88,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
147
88
|
requirements:
|
148
89
|
- - ">="
|
149
90
|
- !ruby/object:Gem::Version
|
150
|
-
version:
|
91
|
+
version: 3.1.0
|
151
92
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
152
93
|
requirements:
|
153
94
|
- - ">="
|
154
95
|
- !ruby/object:Gem::Version
|
155
96
|
version: '0'
|
156
97
|
requirements: []
|
157
|
-
|
158
|
-
|
159
|
-
signing_key:
|
98
|
+
rubygems_version: 3.5.22
|
99
|
+
signing_key:
|
160
100
|
specification_version: 4
|
161
101
|
summary: sports - sport data structures for matches, scores, leagues, seasons, rounds,
|
162
102
|
groups, teams, clubs and more
|
data/lib/sports/config.rb
DELETED
@@ -1,40 +0,0 @@
|
|
1
|
-
|
2
|
-
module SportDb
|
3
|
-
module Import
|
4
|
-
class Configuration
|
5
|
-
|
6
|
-
attr_reader :lang
|
7
|
-
def lang=(value)
|
8
|
-
## check/todo: always use to_sym - why? needed?
|
9
|
-
DateFormats.lang = value
|
10
|
-
ScoreFormats.lang = value
|
11
|
-
end
|
12
|
-
|
13
|
-
## lets you use
|
14
|
-
## SportDb.configure do |config|
|
15
|
-
## config.lang = 'it'
|
16
|
-
## end
|
17
|
-
|
18
|
-
def self.configure() yield( config ); end
|
19
|
-
|
20
|
-
end # class Configuration
|
21
|
-
def self.config() @config ||= Configuration.new; end
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
module Sports
|
28
|
-
|
29
|
-
## lets you use
|
30
|
-
## Sports.configure do |config|
|
31
|
-
## config.lang = 'it'
|
32
|
-
## end
|
33
|
-
|
34
|
-
## note: just forward to SportDb::Import configuration!!!!!
|
35
|
-
## keep Sports module / namespace "clean"
|
36
|
-
## that is, only include data structures (e.g. Match,League,etc) for now - why? why not?
|
37
|
-
def self.configure() yield( config ); end
|
38
|
-
def self.config() SportDb::Import.config; end
|
39
|
-
|
40
|
-
end # module Sports
|
@@ -1,28 +0,0 @@
|
|
1
|
-
|
2
|
-
module SportDb
|
3
|
-
class CsvGoalParser
|
4
|
-
|
5
|
-
|
6
|
-
def self.read( path )
|
7
|
-
txt = File.open( path, 'r:utf-8' ) {|f| f.read } ## note: make sure to use (assume) utf-8
|
8
|
-
parse( txt )
|
9
|
-
end
|
10
|
-
|
11
|
-
def self.parse( txt )
|
12
|
-
new( txt ).parse
|
13
|
-
end
|
14
|
-
|
15
|
-
|
16
|
-
def initialize( txt )
|
17
|
-
@txt = txt
|
18
|
-
end
|
19
|
-
|
20
|
-
def parse
|
21
|
-
rows = parse_csv( @txt )
|
22
|
-
recs = rows.map { |row| Sports::GoalEvent.build( row ) }
|
23
|
-
## pp recs[0]
|
24
|
-
recs
|
25
|
-
end
|
26
|
-
|
27
|
-
end # class CsvGoalParser
|
28
|
-
end # module Sports
|