sportdb-config 1.0.1 → 1.0.2

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: 26a7fb71c04c3bbd3ce14a96a311ee03500ffe70
4
- data.tar.gz: a7bdc7a25f3cc3dde81a4a89ccbea7a186b80066
3
+ metadata.gz: 65fb2dad1f7a9da1ca402af272f9ea574219b586
4
+ data.tar.gz: 531f43fc38f1347fcb60203be85b7f084d203ae2
5
5
  SHA512:
6
- metadata.gz: dcb55016fd05624851a4cecaf615534842750cd9ac2db8f45acd1cdb1f3b7531562ebb502e650f016ce2e6cb97c91470777b2e63fed60fa0efd10bc26fe67572
7
- data.tar.gz: 5d7d53f05266901a021583850aad1cb9a9c65ce189a282c9e85c109675343236c9aebc740c55274bb72d3f8e1720d3bbe6e35c9d3200b5e4d20eaf708c96f0e0
6
+ metadata.gz: 9aadac096effcee44c6a85ac1c47d0f9926872ee076003a6901f13c69995d4c6f61e0db98c2a3141bc1ddbf4e7ff18b26255cd9c12312e9285ffa6a4b3822d10
7
+ data.tar.gz: 821e17820804ec765e58bc3c4c061553e0803b1fb1dfb624821c02659cfa49ef95fda03515c85851605048aeb64e960f40eee2474889a5c7f0495483e66b9c92
data/Manifest.txt CHANGED
@@ -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
@@ -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.fifa.downcase, ## note: use fifa code
30
+ name: country.name,
31
+ code: country.fifa, ## note: use fifa code
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
@@ -8,7 +8,7 @@ module Boot ## note: use a different module than Config to avoid confusion
8
8
 
9
9
  MAJOR = 1 ## todo: namespace inside version or something - why? why not??
10
10
  MINOR = 0
11
- PATCH = 1
11
+ PATCH = 2
12
12
  VERSION = [MAJOR,MINOR,PATCH].join('.')
13
13
 
14
14
  def self.version
@@ -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,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sportdb-config
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gerald Bauer
@@ -110,6 +110,7 @@ files:
110
110
  - README.md
111
111
  - Rakefile
112
112
  - lib/sportdb/config.rb
113
+ - lib/sportdb/config/catalog.rb
113
114
  - lib/sportdb/config/config.rb
114
115
  - lib/sportdb/config/version.rb
115
116
  - lib/sportdb/config/wiki_index.rb
@@ -117,6 +118,7 @@ files:
117
118
  - test/test_clubs.rb
118
119
  - test/test_countries.rb
119
120
  - test/test_leagues.rb
121
+ - test/test_national_teams.rb
120
122
  - test/test_wiki_index.rb
121
123
  homepage: https://github.com/sportdb/sport.db
122
124
  licenses: