sportdb-config 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1f9518da3271d41c53429151ae62de407a7fb4a3
4
- data.tar.gz: f6c9717adedf654049ff162ac5560f2b41d2da1f
3
+ metadata.gz: 72a9ce4c1edae6d428da40e3764282fea81995ae
4
+ data.tar.gz: aaf4a46f110099605e72df4f40cc416dba485ae2
5
5
  SHA512:
6
- metadata.gz: eb87146374b46e8be05e4a61d6b7b267983dc870bfd8ad4921eb9b88fd1d1d88de7aeabdfc6d0025d3ec6c6c73c2a33e299a5b7e109428ddab8660aa05bea1bd
7
- data.tar.gz: ef49c48e64709fc21c123d26fc18404f9bd61f7196fb250fd462abb833c5811f5066c6dc131fed8565f9dd8f9f96cbabdcaa98ab97c3a6b278565b6d70c8359f
6
+ metadata.gz: 32e485f24c938a59930978a95ce51734853af0c068d64d039cce9e10ca68532d14658c938f7c7a292b4f5a7d82d17dd4a9b7a1f1b69342c93c9080c4f77983be
7
+ data.tar.gz: 358731992f199ab916f07316ad9677972f8a8ddb76d75fdc83147e633af571bc4059e83b4a038eb121e924f01c2582d8aaaa6846e52ba948cde8abeb115cfe88
@@ -4,6 +4,7 @@ NOTES.md
4
4
  README.md
5
5
  Rakefile
6
6
  lib/sportdb/config.rb
7
+ lib/sportdb/config/catalog.rb
7
8
  lib/sportdb/config/config.rb
8
9
  lib/sportdb/config/version.rb
9
10
  lib/sportdb/config/wiki_index.rb
@@ -11,4 +12,5 @@ test/helper.rb
11
12
  test/test_clubs.rb
12
13
  test/test_countries.rb
13
14
  test/test_leagues.rb
15
+ test/test_national_teams.rb
14
16
  test/test_wiki_index.rb
data/NOTES.md CHANGED
@@ -3,6 +3,7 @@
3
3
  ## Todos
4
4
 
5
5
  - use a different name for sportdb-config
6
+ - yes, use sportdb-catalogs !!!!
6
7
  - use sportdb-boot and SportDb::Boot or
7
8
  - use sportdb-conf - why? why not?
8
9
  - or sportdb-setup/startup/...
data/Rakefile CHANGED
@@ -3,7 +3,7 @@ require './lib/sportdb/config/version.rb'
3
3
 
4
4
  Hoe.spec 'sportdb-config' do
5
5
 
6
- self.version = SportDb::Boot::VERSION
6
+ self.version = SportDb::Module::Catalogs::VERSION
7
7
 
8
8
  self.summary = "sportdb-config - sport.db configuration settings and built-in defaults"
9
9
  self.description = summary
@@ -20,13 +20,11 @@ Hoe.spec 'sportdb-config' do
20
20
  self.licenses = ['Public Domain']
21
21
 
22
22
  self.extra_deps = [
23
- ['sportdb-countries', '>= 0.5.1'],
24
- ['sportdb-clubs', '>= 0.4.0'],
25
- ['sportdb-leagues', '>= 0.2.2'],
23
+ ['sportdb-formats', '>= 1.1.0'],
26
24
  ## dataset libs / gems
27
- ['fifa', '>= 2019.11.27'], ## for (builtin/default) countries
28
- ['footballdb-clubs', '>= 2019.11.22'], ## for (builtin/default) clubs
29
- ['footballdb-leagues', '>= 2019.11.22'], ## for (builtin/default) leagues & cups
25
+ ['fifa', '>= 2020.5.18'], ## for (builtin/default) countries
26
+ ['footballdb-clubs', '>= 2020.6.16'], ## for (builtin/default) clubs
27
+ ['footballdb-leagues', '>= 2020.6.16'], ## for (builtin/default) leagues & cups
30
28
  ]
31
29
 
32
30
  self.spec_extras = {
@@ -17,4 +17,4 @@ require 'sportdb/config/catalog'
17
17
  require 'sportdb/config/config'
18
18
 
19
19
 
20
- puts SportDb::Boot.banner # say hello
20
+ puts SportDb::Module::Catalogs.banner # say hello
@@ -0,0 +1,75 @@
1
+
2
+ module SportDb
3
+ module Import
4
+
5
+
6
+ class Catalog
7
+ def config() Import.config; end
8
+
9
+
10
+ ## todo/check: rename to country_mappings/index - why? why not?
11
+ ## or countries_by_code or countries_by_key
12
+ def countries() @countries ||= build_country_index; end
13
+ def national_teams() @national_teams ||= build_national_team_index; end
14
+ def clubs() @clubs ||= build_club_index; end
15
+ def teams() @teams ||= build_team_index; end
16
+ def leagues() @leagues ||= build_league_index; end
17
+
18
+
19
+ def build_team_index() TeamIndex.new; end
20
+
21
+ def build_country_index ## todo/check: rename to setup_country_index or read_country_index - why? why not?
22
+ CountryIndex.new( Fifa.countries )
23
+ end
24
+
25
+ def build_national_team_index
26
+ ## auto-build national teams from Fifa.countries for now
27
+ teams = []
28
+ Fifa.countries.each do |country|
29
+ team = NationalTeam.new( key: country.code.downcase, ## note: use country code (fifa)
30
+ name: country.name,
31
+ code: country.code, ## note: use country code (fifa)
32
+ alt_names: country.alt_names )
33
+ team.country = country
34
+
35
+ teams << team
36
+ end
37
+
38
+ NationalTeamIndex.new( teams )
39
+ end
40
+
41
+ def build_club_index
42
+ ## unify team names; team (builtin/known/shared) name mappings
43
+ ## cleanup team names - use local ("native") name with umlaut etc.
44
+ ## todo/fix: add to teamreader
45
+ ## check that name and alt_names for a club are all unique (not duplicates)
46
+
47
+ clubs = if config.clubs_dir ## check if clubs_dir is defined / set (otherwise it's nil)
48
+ ClubIndex.build( config.clubs_dir )
49
+ else ## no clubs_dir set - try using builtin from footballdb-clubs
50
+ FootballDb::Import::build_club_index
51
+ end
52
+
53
+ if clubs.errors?
54
+ puts ""
55
+ puts "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
56
+ puts " #{clubs.errors.size} errors:"
57
+ pp clubs.errors
58
+ ## exit 1
59
+ end
60
+
61
+ clubs
62
+ end # method build_club_index
63
+
64
+
65
+ def build_league_index
66
+ leagues = if config.leagues_dir ## check if clubs_dir is defined / set (otherwise it's nil)
67
+ LeagueIndex.build( config.leagues_dir )
68
+ else ## no leagues_dir set - try using builtin from footballdb-leagues
69
+ FootballDb::Import.build_league_index
70
+ end
71
+ end
72
+ end # class Catalog
73
+
74
+ end # module Import
75
+ end # module SportDb
@@ -1,13 +1,12 @@
1
1
  # encoding: utf-8
2
2
 
3
3
 
4
-
5
4
  module SportDb
6
- module Boot ## note: use a different module than Config to avoid confusion with Configuration/config etc.!!!!
7
- ## maybe rename later gem itself to sportdb-boot - why? why not?
5
+ module Module
6
+ module Catalogs
8
7
 
9
8
  MAJOR = 1 ## todo: namespace inside version or something - why? why not??
10
- MINOR = 0
9
+ MINOR = 1
11
10
  PATCH = 0
12
11
  VERSION = [MAJOR,MINOR,PATCH].join('.')
13
12
 
@@ -15,6 +14,7 @@ module Boot ## note: use a different module than Config to avoid confusion
15
14
  VERSION
16
15
  end
17
16
 
17
+ ## todo/fix: rename to sportdb-catalogs - why? why not?
18
18
  def self.banner
19
19
  "sportdb-config/#{VERSION} on Ruby #{RUBY_VERSION} (#{RUBY_RELEASE_DATE}) [#{RUBY_PLATFORM}]"
20
20
  end
@@ -23,5 +23,6 @@ module Boot ## note: use a different module than Config to avoid confusion
23
23
  File.expand_path( File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) )
24
24
  end
25
25
 
26
- end # module Boot
26
+ end # module Catalogs
27
+ end # module Module
27
28
  end # module SportDb
@@ -18,12 +18,12 @@ class TestCountries < MiniTest::Test
18
18
  eng = COUNTRIES[:eng]
19
19
  assert_equal 'eng', eng.key
20
20
  assert_equal 'England', eng.name
21
- assert_equal 'ENG', eng.fifa
21
+ assert_equal 'ENG', eng.code
22
22
 
23
23
  at = COUNTRIES[:at]
24
24
  assert_equal 'at', at.key
25
25
  assert_equal 'Austria', at.name
26
- assert_equal 'AUT', at.fifa
26
+ assert_equal 'AUT', at.code
27
27
 
28
28
  assert at == COUNTRIES['AT']
29
29
  assert at == COUNTRIES['at']
@@ -0,0 +1,40 @@
1
+ # encoding: utf-8
2
+
3
+ ###
4
+ # to run use
5
+ # ruby -I ./lib -I ./test test/test_national_teams.rb
6
+
7
+
8
+ require 'helper'
9
+
10
+ class TestNationalTeams < MiniTest::Test
11
+
12
+ NATIONAL_TEAMS = SportDb::Import.catalog.national_teams
13
+
14
+
15
+ def test_find
16
+ t = NATIONAL_TEAMS.find( 'AUT' )
17
+ assert_equal 'Austria', t.name
18
+ assert_equal 'aut', t.key
19
+ assert_equal 'AUT', t.code
20
+
21
+
22
+ t = NATIONAL_TEAMS.find( 'England' )
23
+ assert_equal 'England', t.name
24
+ assert_equal 'eng', t.key
25
+ assert_equal 'ENG', t.code
26
+
27
+ ## note: all dots (.) get always removed
28
+ t = NATIONAL_TEAMS.find( '...e.n.g.l.a.n.d...' )
29
+ assert_equal 'England', t.name
30
+ assert_equal 'eng', t.key
31
+ assert_equal 'ENG', t.code
32
+
33
+ ## note: all spaces and dashes (-) get always removed
34
+ t = NATIONAL_TEAMS.find( '--- e n g l a n d ---' )
35
+ assert_equal 'England', t.name
36
+ assert_equal 'eng', t.key
37
+ assert_equal 'ENG', t.code
38
+ end
39
+
40
+ end # class TestNationalTeams
metadata CHANGED
@@ -1,99 +1,71 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sportdb-config
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gerald Bauer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-05-11 00:00:00.000000000 Z
11
+ date: 2020-06-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: sportdb-countries
14
+ name: sportdb-formats
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.5.1
19
+ version: 1.1.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: 0.5.1
27
- - !ruby/object:Gem::Dependency
28
- name: sportdb-clubs
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: 0.4.0
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: 0.4.0
41
- - !ruby/object:Gem::Dependency
42
- name: sportdb-leagues
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: 0.2.2
48
- type: :runtime
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: 0.2.2
26
+ version: 1.1.0
55
27
  - !ruby/object:Gem::Dependency
56
28
  name: fifa
57
29
  requirement: !ruby/object:Gem::Requirement
58
30
  requirements:
59
31
  - - ">="
60
32
  - !ruby/object:Gem::Version
61
- version: 2019.11.27
33
+ version: 2020.5.18
62
34
  type: :runtime
63
35
  prerelease: false
64
36
  version_requirements: !ruby/object:Gem::Requirement
65
37
  requirements:
66
38
  - - ">="
67
39
  - !ruby/object:Gem::Version
68
- version: 2019.11.27
40
+ version: 2020.5.18
69
41
  - !ruby/object:Gem::Dependency
70
42
  name: footballdb-clubs
71
43
  requirement: !ruby/object:Gem::Requirement
72
44
  requirements:
73
45
  - - ">="
74
46
  - !ruby/object:Gem::Version
75
- version: 2019.11.22
47
+ version: 2020.6.16
76
48
  type: :runtime
77
49
  prerelease: false
78
50
  version_requirements: !ruby/object:Gem::Requirement
79
51
  requirements:
80
52
  - - ">="
81
53
  - !ruby/object:Gem::Version
82
- version: 2019.11.22
54
+ version: 2020.6.16
83
55
  - !ruby/object:Gem::Dependency
84
56
  name: footballdb-leagues
85
57
  requirement: !ruby/object:Gem::Requirement
86
58
  requirements:
87
59
  - - ">="
88
60
  - !ruby/object:Gem::Version
89
- version: 2019.11.22
61
+ version: 2020.6.16
90
62
  type: :runtime
91
63
  prerelease: false
92
64
  version_requirements: !ruby/object:Gem::Requirement
93
65
  requirements:
94
66
  - - ">="
95
67
  - !ruby/object:Gem::Version
96
- version: 2019.11.22
68
+ version: 2020.6.16
97
69
  - !ruby/object:Gem::Dependency
98
70
  name: rdoc
99
71
  requirement: !ruby/object:Gem::Requirement
@@ -138,6 +110,7 @@ files:
138
110
  - README.md
139
111
  - Rakefile
140
112
  - lib/sportdb/config.rb
113
+ - lib/sportdb/config/catalog.rb
141
114
  - lib/sportdb/config/config.rb
142
115
  - lib/sportdb/config/version.rb
143
116
  - lib/sportdb/config/wiki_index.rb
@@ -145,6 +118,7 @@ files:
145
118
  - test/test_clubs.rb
146
119
  - test/test_countries.rb
147
120
  - test/test_leagues.rb
121
+ - test/test_national_teams.rb
148
122
  - test/test_wiki_index.rb
149
123
  homepage: https://github.com/sportdb/sport.db
150
124
  licenses: