sportdb 2.1.1 → 2.3.2
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 +4 -4
- data/CHANGELOG.md +4 -4
- data/README.md +123 -123
- data/Rakefile +58 -58
- data/bin/sportdb +5 -5
- data/lib/sportdb.rb +97 -44
- data/lib/sportdb/cli/main.rb +51 -25
- data/lib/sportdb/cli/opts.rb +43 -33
- data/lib/sportdb/cli/version.rb +25 -25
- data/lib/sportdb/console.rb +109 -109
- metadata +28 -50
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9a2eaeb80608f85c3e56cd97938b203aabd55a53
|
|
4
|
+
data.tar.gz: 875947bbad6d080c900a4e04eb0007a52e75dc3e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c4952c8d6e193084214b07917bc58b9fd655f68e888cb545a1de14cdb40318b6de9141cbd35643609209a8d9a5a07155df10d7d6b745319c259c2fa335116733
|
|
7
|
+
data.tar.gz: f9f123cdb8bc3313d610a0b756d2d92e5ef3f1ac7985e8e61f283be1e8b1ea57ec9f53e1ddcbc61ab87b216a8e640535b0f5b525e224bed353f6c710a26f70e2
|
data/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
### 0.1.0 / 2014-12-05
|
|
3
|
-
|
|
4
|
-
* Everything is new. First release
|
|
1
|
+
|
|
2
|
+
### 0.1.0 / 2014-12-05
|
|
3
|
+
|
|
4
|
+
* Everything is new. First release
|
data/README.md
CHANGED
|
@@ -1,123 +1,123 @@
|
|
|
1
|
-
# sportdb - sport.db Command Line Tool
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
<!--
|
|
5
|
-
[](http://travis-ci.org/geraldb/sport.db.ruby)
|
|
6
|
-
-->
|
|
7
|
-
|
|
8
|
-
* home :: [github.com/sportdb/sport.db](https://github.com/sportdb/sport.db)
|
|
9
|
-
* bugs :: [github.com/sportdb/sport.db/issues](https://github.com/sportdb/sport.db/issues)
|
|
10
|
-
* gem :: [rubygems.org/gems/sportdb](https://rubygems.org/gems/sportdb)
|
|
11
|
-
* rdoc :: [rubydoc.info/gems/sportdb](http://rubydoc.info/gems/sportdb)
|
|
12
|
-
* forum :: [groups.google.com/group/opensport](https://groups.google.com/group/opensport)
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
## Usage
|
|
16
|
-
|
|
17
|
-
The sportdb tool lets you read in (parse) datasets (e.g. leagues, clubs, match schedules, etc.)
|
|
18
|
-
in plain text into your sports SQL database of choice (e.g. SQLite, PostgreSQL, etc.)
|
|
19
|
-
|
|
20
|
-
```
|
|
21
|
-
SYNOPSIS
|
|
22
|
-
sportdb [global options] command [command options] [arguments...]
|
|
23
|
-
|
|
24
|
-
VERSION
|
|
25
|
-
2.0
|
|
26
|
-
|
|
27
|
-
GLOBAL OPTIONS
|
|
28
|
-
-d, --dbpath=PATH - Database path (default: .)
|
|
29
|
-
-n, --dbname=NAME - Database name (default: sport.db)
|
|
30
|
-
--verbose - (Debug) Show debug messages
|
|
31
|
-
--version - Show version
|
|
32
|
-
|
|
33
|
-
COMMANDS
|
|
34
|
-
new, n - Build DB w/ quick starter Datafile templates
|
|
35
|
-
build, b - Build DB (download/create/read); use ./Datafile - zips get downloaded to ./tmp
|
|
36
|
-
serve, server - Start web service (HTTP JSON API)
|
|
37
|
-
|
|
38
|
-
MORE COMMANDS
|
|
39
|
-
create - Create DB schema
|
|
40
|
-
download, dl - Download datasets; use ./Datafile - zips get downloaded to ./tmp
|
|
41
|
-
read, r - Read datasets; use ./Datafile - zips required in ./tmp
|
|
42
|
-
logs - Show logs
|
|
43
|
-
props - Show props
|
|
44
|
-
stats - Show stats
|
|
45
|
-
test - (Debug) Test command suite
|
|
46
|
-
help - Shows a list of commands or help for one command
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
### `new` Command
|
|
51
|
-
|
|
52
|
-
```
|
|
53
|
-
NAME
|
|
54
|
-
new - Build DB w/ quick starter Datafile templates
|
|
55
|
-
SYNOPSIS
|
|
56
|
-
sportdb [global options] new NAME
|
|
57
|
-
|
|
58
|
-
EXAMPLES
|
|
59
|
-
sportdb new eng2019-20
|
|
60
|
-
sportdb new eng
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
### `build` Command
|
|
65
|
-
|
|
66
|
-
```
|
|
67
|
-
NAME
|
|
68
|
-
build - Build DB (download/create/read); use ./Datafile - zips get downloaded to ./tmp
|
|
69
|
-
|
|
70
|
-
SYNOPSIS
|
|
71
|
-
sportdb [global options] build
|
|
72
|
-
|
|
73
|
-
EXAMPLES
|
|
74
|
-
sportdb build
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
### `serve` Command
|
|
79
|
-
|
|
80
|
-
```
|
|
81
|
-
NAME
|
|
82
|
-
serve - Start web service (HTTP JSON API)
|
|
83
|
-
|
|
84
|
-
SYNOPSIS
|
|
85
|
-
sportdb [global options] serve
|
|
86
|
-
|
|
87
|
-
EXAMPLES
|
|
88
|
-
sportdb serve
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
## Install
|
|
93
|
-
|
|
94
|
-
Just install the gem:
|
|
95
|
-
|
|
96
|
-
$ gem install sportdb
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
## More Documentation / Getting Started Guides
|
|
101
|
-
|
|
102
|
-
See the **[football.db League Starter Sample - Mauritius Premier League](https://github.com/openfootball/league-starter)**
|
|
103
|
-
if you want to start from scratch (zero) with your very own league.
|
|
104
|
-
|
|
105
|
-
See the **[football.db Quick Starter Datafile Templates](https://github.com/openfootball/quick-starter)** if you want to read in ready-to-use /
|
|
106
|
-
ready-to-fork dataset packages incl. the English Premier League, the German
|
|
107
|
-
Bundesliga, the Spanish Primera División and some more.
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
## License
|
|
112
|
-
|
|
113
|
-

|
|
114
|
-
|
|
115
|
-
The `sportdb` scripts are dedicated to the public domain.
|
|
116
|
-
Use it as you please with no restrictions whatsoever.
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
## Questions? Comments?
|
|
120
|
-
|
|
121
|
-
Send them along to the
|
|
122
|
-
[Open Sports & Friends Forum/Mailing List](http://groups.google.com/group/opensport).
|
|
123
|
-
Thanks!
|
|
1
|
+
# sportdb - sport.db Command Line Tool
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
<!--
|
|
5
|
+
[](http://travis-ci.org/geraldb/sport.db.ruby)
|
|
6
|
+
-->
|
|
7
|
+
|
|
8
|
+
* home :: [github.com/sportdb/sport.db](https://github.com/sportdb/sport.db)
|
|
9
|
+
* bugs :: [github.com/sportdb/sport.db/issues](https://github.com/sportdb/sport.db/issues)
|
|
10
|
+
* gem :: [rubygems.org/gems/sportdb](https://rubygems.org/gems/sportdb)
|
|
11
|
+
* rdoc :: [rubydoc.info/gems/sportdb](http://rubydoc.info/gems/sportdb)
|
|
12
|
+
* forum :: [groups.google.com/group/opensport](https://groups.google.com/group/opensport)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
## Usage
|
|
16
|
+
|
|
17
|
+
The sportdb tool lets you read in (parse) datasets (e.g. leagues, clubs, match schedules, etc.)
|
|
18
|
+
in plain text into your sports SQL database of choice (e.g. SQLite, PostgreSQL, etc.)
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
SYNOPSIS
|
|
22
|
+
sportdb [global options] command [command options] [arguments...]
|
|
23
|
+
|
|
24
|
+
VERSION
|
|
25
|
+
2.0
|
|
26
|
+
|
|
27
|
+
GLOBAL OPTIONS
|
|
28
|
+
-d, --dbpath=PATH - Database path (default: .)
|
|
29
|
+
-n, --dbname=NAME - Database name (default: sport.db)
|
|
30
|
+
--verbose - (Debug) Show debug messages
|
|
31
|
+
--version - Show version
|
|
32
|
+
|
|
33
|
+
COMMANDS
|
|
34
|
+
new, n - Build DB w/ quick starter Datafile templates
|
|
35
|
+
build, b - Build DB (download/create/read); use ./Datafile - zips get downloaded to ./tmp
|
|
36
|
+
serve, server - Start web service (HTTP JSON API)
|
|
37
|
+
|
|
38
|
+
MORE COMMANDS
|
|
39
|
+
create - Create DB schema
|
|
40
|
+
download, dl - Download datasets; use ./Datafile - zips get downloaded to ./tmp
|
|
41
|
+
read, r - Read datasets; use ./Datafile - zips required in ./tmp
|
|
42
|
+
logs - Show logs
|
|
43
|
+
props - Show props
|
|
44
|
+
stats - Show stats
|
|
45
|
+
test - (Debug) Test command suite
|
|
46
|
+
help - Shows a list of commands or help for one command
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
### `new` Command
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
NAME
|
|
54
|
+
new - Build DB w/ quick starter Datafile templates
|
|
55
|
+
SYNOPSIS
|
|
56
|
+
sportdb [global options] new NAME
|
|
57
|
+
|
|
58
|
+
EXAMPLES
|
|
59
|
+
sportdb new eng2019-20
|
|
60
|
+
sportdb new eng
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
### `build` Command
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
NAME
|
|
68
|
+
build - Build DB (download/create/read); use ./Datafile - zips get downloaded to ./tmp
|
|
69
|
+
|
|
70
|
+
SYNOPSIS
|
|
71
|
+
sportdb [global options] build
|
|
72
|
+
|
|
73
|
+
EXAMPLES
|
|
74
|
+
sportdb build
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
### `serve` Command
|
|
79
|
+
|
|
80
|
+
```
|
|
81
|
+
NAME
|
|
82
|
+
serve - Start web service (HTTP JSON API)
|
|
83
|
+
|
|
84
|
+
SYNOPSIS
|
|
85
|
+
sportdb [global options] serve
|
|
86
|
+
|
|
87
|
+
EXAMPLES
|
|
88
|
+
sportdb serve
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
## Install
|
|
93
|
+
|
|
94
|
+
Just install the gem:
|
|
95
|
+
|
|
96
|
+
$ gem install sportdb
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
## More Documentation / Getting Started Guides
|
|
101
|
+
|
|
102
|
+
See the **[football.db League Starter Sample - Mauritius Premier League](https://github.com/openfootball/league-starter)**
|
|
103
|
+
if you want to start from scratch (zero) with your very own league.
|
|
104
|
+
|
|
105
|
+
See the **[football.db Quick Starter Datafile Templates](https://github.com/openfootball/quick-starter)** if you want to read in ready-to-use /
|
|
106
|
+
ready-to-fork dataset packages incl. the English Premier League, the German
|
|
107
|
+
Bundesliga, the Spanish Primera División and some more.
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
## License
|
|
112
|
+
|
|
113
|
+

|
|
114
|
+
|
|
115
|
+
The `sportdb` scripts are dedicated to the public domain.
|
|
116
|
+
Use it as you please with no restrictions whatsoever.
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
## Questions? Comments?
|
|
120
|
+
|
|
121
|
+
Send them along to the
|
|
122
|
+
[Open Sports & Friends Forum/Mailing List](http://groups.google.com/group/opensport).
|
|
123
|
+
Thanks!
|
data/Rakefile
CHANGED
|
@@ -1,58 +1,58 @@
|
|
|
1
|
-
require 'hoe'
|
|
2
|
-
require './lib/sportdb/cli/version.rb'
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Hoe.spec 'sportdb' do
|
|
6
|
-
|
|
7
|
-
self.version = SportDbCli::VERSION
|
|
8
|
-
|
|
9
|
-
self.summary = 'sportdb - sport.db Command Line Tool'
|
|
10
|
-
self.description = summary
|
|
11
|
-
|
|
12
|
-
self.urls =
|
|
13
|
-
|
|
14
|
-
self.author = 'Gerald Bauer'
|
|
15
|
-
self.email = 'opensport@googlegroups.com'
|
|
16
|
-
|
|
17
|
-
# switch extension to .markdown for gihub formatting
|
|
18
|
-
# -- Note: auto-changed when included in manifest
|
|
19
|
-
self.readme_file = 'README.md'
|
|
20
|
-
self.history_file = 'CHANGELOG.md'
|
|
21
|
-
|
|
22
|
-
self.extra_deps = [
|
|
23
|
-
['sportdb-
|
|
24
|
-
|
|
25
|
-
['
|
|
26
|
-
['
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
##
|
|
34
|
-
['
|
|
35
|
-
|
|
36
|
-
##
|
|
37
|
-
['
|
|
38
|
-
|
|
39
|
-
##
|
|
40
|
-
['
|
|
41
|
-
]
|
|
42
|
-
|
|
43
|
-
self.licenses = ['Public Domain']
|
|
44
|
-
|
|
45
|
-
self.spec_extras = {
|
|
46
|
-
required_ruby_version: '>= 2.2.2'
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
self.post_install_message =<<TXT
|
|
50
|
-
******************************************************************************
|
|
51
|
-
|
|
52
|
-
Questions? Comments? Send them along to the mailing list.
|
|
53
|
-
https://groups.google.com/group/opensport
|
|
54
|
-
|
|
55
|
-
******************************************************************************
|
|
56
|
-
TXT
|
|
57
|
-
|
|
58
|
-
end
|
|
1
|
+
require 'hoe'
|
|
2
|
+
require './lib/sportdb/cli/version.rb'
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
Hoe.spec 'sportdb' do
|
|
6
|
+
|
|
7
|
+
self.version = SportDbCli::VERSION
|
|
8
|
+
|
|
9
|
+
self.summary = 'sportdb - sport.db Command Line Tool'
|
|
10
|
+
self.description = summary
|
|
11
|
+
|
|
12
|
+
self.urls = { home: 'https://github.com/sportdb/sport.db' }
|
|
13
|
+
|
|
14
|
+
self.author = 'Gerald Bauer'
|
|
15
|
+
self.email = 'opensport@googlegroups.com'
|
|
16
|
+
|
|
17
|
+
# switch extension to .markdown for gihub formatting
|
|
18
|
+
# -- Note: auto-changed when included in manifest
|
|
19
|
+
self.readme_file = 'README.md'
|
|
20
|
+
self.history_file = 'CHANGELOG.md'
|
|
21
|
+
|
|
22
|
+
self.extra_deps = [
|
|
23
|
+
['sportdb-readers', '>= 1.1.2'],
|
|
24
|
+
|
|
25
|
+
['fetcher', '>= 0.4.5'], ## check if included already in datafil ??
|
|
26
|
+
['datafile', '>= 0.3.1'],
|
|
27
|
+
['webservice', '>= 0.7.0'],
|
|
28
|
+
|
|
29
|
+
### incl. sportdb addons - why? why not?
|
|
30
|
+
## ['sportdb-keys'],
|
|
31
|
+
## ['sportdb-update'],
|
|
32
|
+
|
|
33
|
+
## 3rd party
|
|
34
|
+
['gli', '>= 2.19.0'],
|
|
35
|
+
|
|
36
|
+
## ['activerecord'], # Note: will include activesupport,etc.
|
|
37
|
+
['sqlite3'],
|
|
38
|
+
|
|
39
|
+
## more tools
|
|
40
|
+
['football-to-sqlite'],
|
|
41
|
+
]
|
|
42
|
+
|
|
43
|
+
self.licenses = ['Public Domain']
|
|
44
|
+
|
|
45
|
+
self.spec_extras = {
|
|
46
|
+
required_ruby_version: '>= 2.2.2'
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
self.post_install_message =<<TXT
|
|
50
|
+
******************************************************************************
|
|
51
|
+
|
|
52
|
+
Questions? Comments? Send them along to the mailing list.
|
|
53
|
+
https://groups.google.com/group/opensport
|
|
54
|
+
|
|
55
|
+
******************************************************************************
|
|
56
|
+
TXT
|
|
57
|
+
|
|
58
|
+
end
|
data/bin/sportdb
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
#!/usr/bin/env ruby
|
|
2
|
-
|
|
3
|
-
require 'sportdb'
|
|
4
|
-
|
|
5
|
-
SportDb.main
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
|
|
3
|
+
require 'sportdb'
|
|
4
|
+
|
|
5
|
+
SportDb.main
|
data/lib/sportdb.rb
CHANGED
|
@@ -1,44 +1,97 @@
|
|
|
1
|
-
# encoding: utf-8
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
require 'sportdb/
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
##
|
|
10
|
-
|
|
11
|
-
require '
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
#
|
|
16
|
-
|
|
17
|
-
require 'sportdb/cli/
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
##
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
require 'sportdb/readers'
|
|
4
|
+
|
|
5
|
+
require 'logutils/activerecord' ## NOTE: check - add to/include in/move to sportdb/models
|
|
6
|
+
|
|
7
|
+
## check if already included in datafile gem ??
|
|
8
|
+
require 'fetcher' # for fetching/downloading fixtures via HTTP/HTTPS etc.
|
|
9
|
+
require 'datafile' ## lets us use Datafile::Builder,Datafile etc.
|
|
10
|
+
|
|
11
|
+
require 'gli'
|
|
12
|
+
|
|
13
|
+
# our own code
|
|
14
|
+
|
|
15
|
+
require 'sportdb/cli/version' # let version always go first
|
|
16
|
+
require 'sportdb/cli/opts'
|
|
17
|
+
require 'sportdb/cli/main'
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
module SportDb
|
|
22
|
+
|
|
23
|
+
def self.main( args=ARGV )
|
|
24
|
+
Tool.new.run( args )
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
end # module SportDb
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
##################
|
|
32
|
+
# add web service support / machinery
|
|
33
|
+
|
|
34
|
+
require 'webservice'
|
|
35
|
+
|
|
36
|
+
####
|
|
37
|
+
## used for server/service command
|
|
38
|
+
## "preconfigured" base class for webservice
|
|
39
|
+
class SportDbService < Webservice::Base
|
|
40
|
+
include SportDb::Models # e.g. League, Season, Team, etc.
|
|
41
|
+
|
|
42
|
+
## (auto-)add some (built-in) routes
|
|
43
|
+
|
|
44
|
+
get '/version(s)?' do
|
|
45
|
+
{
|
|
46
|
+
"sportdb": SportDbCli::VERSION, ## todo/fix: change to DbTool!!!
|
|
47
|
+
"sportdb/models": SportDb::VERSION,
|
|
48
|
+
## todo/fix: add beerdb/note version - if present
|
|
49
|
+
## todo/fix: add worlddb/models version
|
|
50
|
+
## todo/fix: add some more libs - why? why not??
|
|
51
|
+
"activerecord": [ActiveRecord::VERSION::MAJOR,ActiveRecord::VERSION::MINOR,ActiveRecord::VERSION::TINY].join('.'),
|
|
52
|
+
"webservice": Webservice::VERSION,
|
|
53
|
+
"rack": "#{Rack::RELEASE} (#{Rack::VERSION.join('.')})", ## note: VERSION is the protocoll version as an array e.g.[1,2]
|
|
54
|
+
"ruby": "#{RUBY_VERSION} (#{RUBY_RELEASE_DATE}) [#{RUBY_PLATFORM}]",
|
|
55
|
+
}
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
get '/(stats|tables)' do
|
|
59
|
+
{
|
|
60
|
+
"teams": SportDb::Model::Team.count,
|
|
61
|
+
"games": SportDb::Model::Game.count,
|
|
62
|
+
"events": SportDb::Model::Event.count,
|
|
63
|
+
"leagues": SportDb::Model::League.count,
|
|
64
|
+
"seasons": SportDb::Model::Season.count,
|
|
65
|
+
"countries": WorldDb::Model::Country.count,
|
|
66
|
+
"system": {
|
|
67
|
+
"props": ConfDb::Models::Prop.count,
|
|
68
|
+
"logs": LogDb::Models::Log.count,
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
get '/props(.:format)?' do # note: add format - lets you use props.csv and props.html
|
|
74
|
+
ConfDb::Models::Prop.all
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
get '/logs(.:format)?' do
|
|
78
|
+
LogDb::Models::Log.all
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
## add favicon support
|
|
83
|
+
# get '/favicon.ico' do
|
|
84
|
+
## use 302 to redirect
|
|
85
|
+
## note: use strg+F5 to refresh page (clear cache for favicon.ico)
|
|
86
|
+
# redirect '/webservice-sportdb-32x32.png'
|
|
87
|
+
# end
|
|
88
|
+
|
|
89
|
+
# get '/webservice-beerdb-32x32.png' do
|
|
90
|
+
# send_file "#{SportDbCli.root}/assets/webservice-sportdb-32x32.png"
|
|
91
|
+
# end
|
|
92
|
+
|
|
93
|
+
end # class SportDbService
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
SportDb.main if __FILE__ == $0
|
data/lib/sportdb/cli/main.rb
CHANGED
|
@@ -65,6 +65,17 @@ arg_name 'FILE'
|
|
|
65
65
|
default_value opts.datafile
|
|
66
66
|
flag [:f, :datafile]
|
|
67
67
|
|
|
68
|
+
desc 'Leagues dir'
|
|
69
|
+
arg_name 'PATH'
|
|
70
|
+
default_value nil
|
|
71
|
+
flag [:'leagues-dir', :leaguesdir]
|
|
72
|
+
|
|
73
|
+
desc 'Clubs dir'
|
|
74
|
+
arg_name 'PATH'
|
|
75
|
+
default_value nil
|
|
76
|
+
flag [:'clubs-dir', :clubsdir]
|
|
77
|
+
|
|
78
|
+
|
|
68
79
|
|
|
69
80
|
desc '(Debug) Show debug messages'
|
|
70
81
|
switch [:verbose], negatable: false ## todo: use -w for short form? check ruby interpreter if in use too?
|
|
@@ -186,38 +197,40 @@ command [:new,:n] do |c|
|
|
|
186
197
|
end # command setup
|
|
187
198
|
|
|
188
199
|
|
|
189
|
-
|
|
190
200
|
desc 'Start web service (HTTP JSON API)'
|
|
191
|
-
|
|
201
|
+
arg_name 'NAME' # optional setup profile name
|
|
202
|
+
command [:serve,:server,:s] do |c|
|
|
192
203
|
|
|
193
204
|
c.action do |g,o,args|
|
|
194
205
|
|
|
195
|
-
|
|
206
|
+
## todo: document optional script arg (defaults to service)
|
|
207
|
+
script = args[0] || 'service'
|
|
208
|
+
|
|
209
|
+
## todo/fix: add support for (default) Service (with no extension)
|
|
196
210
|
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
##
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
# ActiveRecord::Base.connection.close
|
|
205
|
-
# end
|
|
206
|
-
#
|
|
207
|
-
|
|
208
|
-
puts 'before add middleware ConnectionManagement'
|
|
209
|
-
SportDb::Service::Server.use ActiveRecord::ConnectionAdapters::ConnectionManagement
|
|
210
|
-
puts 'after add middleware ConnectionManagement'
|
|
211
|
-
## todo: check if we can check on/dump middleware stack
|
|
212
|
-
|
|
213
|
-
## rack middleware might not work with multi-threaded thin web server; close it ourselfs
|
|
214
|
-
SportDb::Service::Server.after do
|
|
215
|
-
puts " #{Thread.current.object_id} -- make sure db connections gets closed after request"
|
|
216
|
-
# todo: check if connection is open - how?
|
|
217
|
-
ActiveRecord::Base.connection.close
|
|
211
|
+
script_path = "#{script}.rb" ## auto-add .rb extension
|
|
212
|
+
|
|
213
|
+
unless File.exist?( script_path ) ## if file doesn't exist try to fetch service script
|
|
214
|
+
script_path = "./#{script}.rb" ## use / save script in local (current) working dir/folder
|
|
215
|
+
worker = Fetcher::Worker.new
|
|
216
|
+
## note: lets use http:// instead of https:// for now - lets us use person proxy (NOT working w/ https for now)
|
|
217
|
+
worker.copy( "http://github.com/sportdb/sport.db.service/raw/master/#{script}.rb", script_path )
|
|
218
218
|
end
|
|
219
219
|
|
|
220
|
-
|
|
220
|
+
|
|
221
|
+
code = File.open( script_path, 'r:utf-8' ) { |f| f.read }
|
|
222
|
+
|
|
223
|
+
connect_to_db( opts )
|
|
224
|
+
|
|
225
|
+
SportDb.tables ## print table stats
|
|
226
|
+
|
|
227
|
+
SportDbService.class_eval( code ) ## note: MUST use class_eval (do NOT use instance_eval) !!!
|
|
228
|
+
|
|
229
|
+
puts "dump routes:"
|
|
230
|
+
pp SportDbService.routes
|
|
231
|
+
|
|
232
|
+
puts "starting server..."
|
|
233
|
+
SportDbService.run!
|
|
221
234
|
|
|
222
235
|
puts 'Done.'
|
|
223
236
|
end
|
|
@@ -225,6 +238,7 @@ end # command serve
|
|
|
225
238
|
|
|
226
239
|
|
|
227
240
|
|
|
241
|
+
|
|
228
242
|
desc 'Show logs'
|
|
229
243
|
command :logs do |c|
|
|
230
244
|
c.action do |g,o,args|
|
|
@@ -301,6 +315,18 @@ pre do |g,c,o,args|
|
|
|
301
315
|
LogUtils::Logger.root.level = :debug
|
|
302
316
|
end
|
|
303
317
|
|
|
318
|
+
|
|
319
|
+
if opts.clubs_dir?
|
|
320
|
+
puts " setting clubs_dir to >#{opts.clubs_dir}<"
|
|
321
|
+
SportDb::Import.config.clubs_dir = opts.clubs_dir
|
|
322
|
+
end
|
|
323
|
+
|
|
324
|
+
if opts.leagues_dir?
|
|
325
|
+
puts " setting leagues_dir to >#{opts.leagues_dir}<"
|
|
326
|
+
SportDb::Import.config.leagues_dir = opts.leagues_dir
|
|
327
|
+
end
|
|
328
|
+
|
|
329
|
+
|
|
304
330
|
logger.debug "Executing #{c.name}"
|
|
305
331
|
true
|
|
306
332
|
end
|
data/lib/sportdb/cli/opts.rb
CHANGED
|
@@ -1,33 +1,43 @@
|
|
|
1
|
-
# encoding: utf-8
|
|
2
|
-
|
|
3
|
-
module SportDb
|
|
4
|
-
|
|
5
|
-
class Opts
|
|
6
|
-
|
|
7
|
-
def merge_gli_options!( options = {} )
|
|
8
|
-
@db_path = options[:dbpath] if options[:dbpath].present?
|
|
9
|
-
@db_name = options[:dbname] if options[:dbname].present?
|
|
10
|
-
@datafile = options[:datafile] if options[:datafile].present?
|
|
11
|
-
|
|
12
|
-
@verbose = true if options[:verbose] == true
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
def
|
|
30
|
-
def
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
end
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
module SportDb
|
|
4
|
+
|
|
5
|
+
class Opts
|
|
6
|
+
|
|
7
|
+
def merge_gli_options!( options = {} )
|
|
8
|
+
@db_path = options[:dbpath] if options[:dbpath].present?
|
|
9
|
+
@db_name = options[:dbname] if options[:dbname].present?
|
|
10
|
+
@datafile = options[:datafile] if options[:datafile].present?
|
|
11
|
+
|
|
12
|
+
@verbose = true if options[:verbose] == true
|
|
13
|
+
|
|
14
|
+
@leagues_dir = options[:'leagues-dir'] if options[:'leagues-dir'].present?
|
|
15
|
+
@clubs_dir = options[:'clubs-dir'] if options[:'clubs-dir'].present?
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
def verbose=(boolean) # add: alias for debug ??
|
|
20
|
+
@verbose = boolean
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def verbose?
|
|
24
|
+
return false if @verbose.nil? # default verbose/debug flag is false
|
|
25
|
+
@verbose == true
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
def db_path() @db_path || '.'; end
|
|
30
|
+
def db_name() @db_name || 'sport.db'; end
|
|
31
|
+
|
|
32
|
+
def datafile() @datafile || './Datafile'; end
|
|
33
|
+
def datafile?() @datafile; end ## note: let's you check if datafile is set (or "untouched")
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
def clubs_dir() @clubs_dir; end
|
|
37
|
+
def clubs_dir?() @clubs_dir.nil? == false; end ## note: let's you check if clubs_dir set (by default it's NOT set)
|
|
38
|
+
|
|
39
|
+
def leagues_dir() @leagues_dir; end
|
|
40
|
+
def leagues_dir?() @leagues_dir.nil? == false; end
|
|
41
|
+
end # class Opts
|
|
42
|
+
|
|
43
|
+
end # module SportDb
|
data/lib/sportdb/cli/version.rb
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
# encoding: utf-8
|
|
2
|
-
|
|
3
|
-
# Note: SportDb::VERSION gets used by core, that is, sportdb-models
|
|
4
|
-
|
|
5
|
-
## todo/fix: yes, rename to SportDbTool
|
|
6
|
-
module SportDbCli # todo/check - rename to SportDbTool or SportDbCommands or SportDbShell ??
|
|
7
|
-
|
|
8
|
-
MAJOR = 2 ## todo: namespace inside version or something - why? why not??
|
|
9
|
-
MINOR =
|
|
10
|
-
PATCH =
|
|
11
|
-
VERSION = [MAJOR,MINOR,PATCH].join('.')
|
|
12
|
-
|
|
13
|
-
def self.version
|
|
14
|
-
VERSION
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
def self.banner
|
|
18
|
-
"sportdb/#{VERSION} on Ruby #{RUBY_VERSION} (#{RUBY_RELEASE_DATE}) [#{RUBY_PLATFORM}]"
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
def self.root
|
|
22
|
-
"#{File.expand_path( File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) )}"
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
end # module SportDbCli
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
# Note: SportDb::VERSION gets used by core, that is, sportdb-models
|
|
4
|
+
|
|
5
|
+
## todo/fix: yes, rename to SportDbTool
|
|
6
|
+
module SportDbCli # todo/check - rename to SportDbTool or SportDbCommands or SportDbShell ??
|
|
7
|
+
|
|
8
|
+
MAJOR = 2 ## todo: namespace inside version or something - why? why not??
|
|
9
|
+
MINOR = 3
|
|
10
|
+
PATCH = 2
|
|
11
|
+
VERSION = [MAJOR,MINOR,PATCH].join('.')
|
|
12
|
+
|
|
13
|
+
def self.version
|
|
14
|
+
VERSION
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def self.banner
|
|
18
|
+
"sportdb/#{VERSION} on Ruby #{RUBY_VERSION} (#{RUBY_RELEASE_DATE}) [#{RUBY_PLATFORM}]"
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def self.root
|
|
22
|
+
"#{File.expand_path( File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) )}"
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
end # module SportDbCli
|
data/lib/sportdb/console.rb
CHANGED
|
@@ -1,109 +1,109 @@
|
|
|
1
|
-
|
|
2
|
-
require 'logger'
|
|
3
|
-
require 'sportdb/models'
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
## shortcuts for models
|
|
7
|
-
|
|
8
|
-
##
|
|
9
|
-
## todo/fix: just use include SportDb::Models - why? why not? is it possible/working?
|
|
10
|
-
|
|
11
|
-
Badge = SportDb::Model::Badge
|
|
12
|
-
Event = SportDb::Model::Event
|
|
13
|
-
Game = SportDb::Model::Game
|
|
14
|
-
Goal = SportDb::Model::Goal
|
|
15
|
-
Group = SportDb::Model::Group
|
|
16
|
-
League = SportDb::Model::League
|
|
17
|
-
Person = SportDb::Model::Person
|
|
18
|
-
Roster = SportDb::Model::Roster
|
|
19
|
-
Round = SportDb::Model::Round
|
|
20
|
-
Season = SportDb::Model::Season
|
|
21
|
-
Team = SportDb::Model::Team
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
### todo: check for racing.db extension if present??
|
|
25
|
-
## only add if present
|
|
26
|
-
Race = SportDb::Model::Race
|
|
27
|
-
Record = SportDb::Model::Record
|
|
28
|
-
Run = SportDb::Model::Run
|
|
29
|
-
Track = SportDb::Model::Track
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
Tag = WorldDb::Model::Tag
|
|
34
|
-
Tagging = WorldDb::Model::Tagging
|
|
35
|
-
Continent = WorldDb::Model::Continent
|
|
36
|
-
Country = WorldDb::Model::Country
|
|
37
|
-
Region = WorldDb::Model::Region
|
|
38
|
-
City = WorldDb::Model::City
|
|
39
|
-
Prop = WorldDb::Model::Prop
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
## connect to db
|
|
43
|
-
|
|
44
|
-
DB_CONFIG = {
|
|
45
|
-
adapter: 'sqlite3',
|
|
46
|
-
database: './sport.db'
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
pp DB_CONFIG
|
|
50
|
-
ActiveRecord::Base.establish_connection( DB_CONFIG )
|
|
51
|
-
|
|
52
|
-
## test drive
|
|
53
|
-
|
|
54
|
-
puts "Welcome to sport.db, version #{SportDb::VERSION} (world.db, version #{WorldDb::VERSION})!"
|
|
55
|
-
|
|
56
|
-
## print tables stats (e.g. no of records)
|
|
57
|
-
puts 'sport.db'
|
|
58
|
-
puts '--------'
|
|
59
|
-
SportDb.tables
|
|
60
|
-
|
|
61
|
-
puts 'world.db'
|
|
62
|
-
puts '--------'
|
|
63
|
-
WorldDb.tables
|
|
64
|
-
|
|
65
|
-
puts 'Ready.'
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
## add some predefined shortcuts
|
|
69
|
-
|
|
70
|
-
##### some countries
|
|
71
|
-
|
|
72
|
-
AT = Country.find_by_key( 'at' )
|
|
73
|
-
DE = Country.find_by_key( 'de' )
|
|
74
|
-
EN = Country.find_by_key( 'en' )
|
|
75
|
-
|
|
76
|
-
US = Country.find_by_key( 'us' )
|
|
77
|
-
CA = Country.find_by_key( 'ca' )
|
|
78
|
-
MX = Country.find_by_key( 'mx' )
|
|
79
|
-
|
|
80
|
-
#### some events
|
|
81
|
-
|
|
82
|
-
EURO2008 = Event.find_by_key( 'euro.2008' )
|
|
83
|
-
EURO2012 = Event.find_by_key( 'euro.2012' )
|
|
84
|
-
EURO = EURO2012 # add alias
|
|
85
|
-
|
|
86
|
-
BL = Event.find_by_key( 'de.2013/14' )
|
|
87
|
-
PL = Event.find_by_key( 'en.2013/14' )
|
|
88
|
-
|
|
89
|
-
### some club teams
|
|
90
|
-
|
|
91
|
-
BARCA = Team.find_by_key( 'barcelona' )
|
|
92
|
-
MANU = Team.find_by_key( 'manunited' )
|
|
93
|
-
MUN = MANUNITED = MANU # add alias
|
|
94
|
-
BAYERN = Team.find_by_key( 'bayern' )
|
|
95
|
-
AUSTRIA = Team.find_by_key( 'austria' )
|
|
96
|
-
|
|
97
|
-
### some national teams (three letter fifa codes)
|
|
98
|
-
|
|
99
|
-
ESP = Team.find_by_key( 'esp' )
|
|
100
|
-
GER = Team.find_by_key( 'ger' )
|
|
101
|
-
AUT = Team.find_by_key( 'aut' )
|
|
102
|
-
|
|
103
|
-
MEX = Team.find_by_key( 'mex' )
|
|
104
|
-
ARG = Team.find_by_key( 'arg' )
|
|
105
|
-
|
|
106
|
-
## turn on activerecord logging to console
|
|
107
|
-
|
|
108
|
-
ActiveRecord::Base.logger = Logger.new( STDOUT )
|
|
109
|
-
|
|
1
|
+
|
|
2
|
+
require 'logger'
|
|
3
|
+
require 'sportdb/models'
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
## shortcuts for models
|
|
7
|
+
|
|
8
|
+
##
|
|
9
|
+
## todo/fix: just use include SportDb::Models - why? why not? is it possible/working?
|
|
10
|
+
|
|
11
|
+
Badge = SportDb::Model::Badge
|
|
12
|
+
Event = SportDb::Model::Event
|
|
13
|
+
Game = SportDb::Model::Game
|
|
14
|
+
Goal = SportDb::Model::Goal
|
|
15
|
+
Group = SportDb::Model::Group
|
|
16
|
+
League = SportDb::Model::League
|
|
17
|
+
Person = SportDb::Model::Person
|
|
18
|
+
Roster = SportDb::Model::Roster
|
|
19
|
+
Round = SportDb::Model::Round
|
|
20
|
+
Season = SportDb::Model::Season
|
|
21
|
+
Team = SportDb::Model::Team
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
### todo: check for racing.db extension if present??
|
|
25
|
+
## only add if present
|
|
26
|
+
Race = SportDb::Model::Race
|
|
27
|
+
Record = SportDb::Model::Record
|
|
28
|
+
Run = SportDb::Model::Run
|
|
29
|
+
Track = SportDb::Model::Track
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
Tag = WorldDb::Model::Tag
|
|
34
|
+
Tagging = WorldDb::Model::Tagging
|
|
35
|
+
Continent = WorldDb::Model::Continent
|
|
36
|
+
Country = WorldDb::Model::Country
|
|
37
|
+
Region = WorldDb::Model::Region
|
|
38
|
+
City = WorldDb::Model::City
|
|
39
|
+
Prop = WorldDb::Model::Prop
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
## connect to db
|
|
43
|
+
|
|
44
|
+
DB_CONFIG = {
|
|
45
|
+
adapter: 'sqlite3',
|
|
46
|
+
database: './sport.db'
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
pp DB_CONFIG
|
|
50
|
+
ActiveRecord::Base.establish_connection( DB_CONFIG )
|
|
51
|
+
|
|
52
|
+
## test drive
|
|
53
|
+
|
|
54
|
+
puts "Welcome to sport.db, version #{SportDb::VERSION} (world.db, version #{WorldDb::VERSION})!"
|
|
55
|
+
|
|
56
|
+
## print tables stats (e.g. no of records)
|
|
57
|
+
puts 'sport.db'
|
|
58
|
+
puts '--------'
|
|
59
|
+
SportDb.tables
|
|
60
|
+
|
|
61
|
+
puts 'world.db'
|
|
62
|
+
puts '--------'
|
|
63
|
+
WorldDb.tables
|
|
64
|
+
|
|
65
|
+
puts 'Ready.'
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
## add some predefined shortcuts
|
|
69
|
+
|
|
70
|
+
##### some countries
|
|
71
|
+
|
|
72
|
+
AT = Country.find_by_key( 'at' )
|
|
73
|
+
DE = Country.find_by_key( 'de' )
|
|
74
|
+
EN = Country.find_by_key( 'en' )
|
|
75
|
+
|
|
76
|
+
US = Country.find_by_key( 'us' )
|
|
77
|
+
CA = Country.find_by_key( 'ca' )
|
|
78
|
+
MX = Country.find_by_key( 'mx' )
|
|
79
|
+
|
|
80
|
+
#### some events
|
|
81
|
+
|
|
82
|
+
EURO2008 = Event.find_by_key( 'euro.2008' )
|
|
83
|
+
EURO2012 = Event.find_by_key( 'euro.2012' )
|
|
84
|
+
EURO = EURO2012 # add alias
|
|
85
|
+
|
|
86
|
+
BL = Event.find_by_key( 'de.2013/14' )
|
|
87
|
+
PL = Event.find_by_key( 'en.2013/14' )
|
|
88
|
+
|
|
89
|
+
### some club teams
|
|
90
|
+
|
|
91
|
+
BARCA = Team.find_by_key( 'barcelona' )
|
|
92
|
+
MANU = Team.find_by_key( 'manunited' )
|
|
93
|
+
MUN = MANUNITED = MANU # add alias
|
|
94
|
+
BAYERN = Team.find_by_key( 'bayern' )
|
|
95
|
+
AUSTRIA = Team.find_by_key( 'austria' )
|
|
96
|
+
|
|
97
|
+
### some national teams (three letter fifa codes)
|
|
98
|
+
|
|
99
|
+
ESP = Team.find_by_key( 'esp' )
|
|
100
|
+
GER = Team.find_by_key( 'ger' )
|
|
101
|
+
AUT = Team.find_by_key( 'aut' )
|
|
102
|
+
|
|
103
|
+
MEX = Team.find_by_key( 'mex' )
|
|
104
|
+
ARG = Team.find_by_key( 'arg' )
|
|
105
|
+
|
|
106
|
+
## turn on activerecord logging to console
|
|
107
|
+
|
|
108
|
+
ActiveRecord::Base.logger = Logger.new( STDOUT )
|
|
109
|
+
|
metadata
CHANGED
|
@@ -1,101 +1,87 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: sportdb
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.3.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Gerald Bauer
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2020-10-17 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
|
-
- !ruby/object:Gem::Dependency
|
|
14
|
-
name: sportdb-models
|
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
|
16
|
-
requirements:
|
|
17
|
-
- - ">="
|
|
18
|
-
- !ruby/object:Gem::Version
|
|
19
|
-
version: 1.18.2
|
|
20
|
-
type: :runtime
|
|
21
|
-
prerelease: false
|
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
-
requirements:
|
|
24
|
-
- - ">="
|
|
25
|
-
- !ruby/object:Gem::Version
|
|
26
|
-
version: 1.18.2
|
|
27
13
|
- !ruby/object:Gem::Dependency
|
|
28
14
|
name: sportdb-readers
|
|
29
15
|
requirement: !ruby/object:Gem::Requirement
|
|
30
16
|
requirements:
|
|
31
17
|
- - ">="
|
|
32
18
|
- !ruby/object:Gem::Version
|
|
33
|
-
version:
|
|
19
|
+
version: 1.1.2
|
|
34
20
|
type: :runtime
|
|
35
21
|
prerelease: false
|
|
36
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
23
|
requirements:
|
|
38
24
|
- - ">="
|
|
39
25
|
- !ruby/object:Gem::Version
|
|
40
|
-
version:
|
|
26
|
+
version: 1.1.2
|
|
41
27
|
- !ruby/object:Gem::Dependency
|
|
42
|
-
name:
|
|
28
|
+
name: fetcher
|
|
43
29
|
requirement: !ruby/object:Gem::Requirement
|
|
44
30
|
requirements:
|
|
45
31
|
- - ">="
|
|
46
32
|
- !ruby/object:Gem::Version
|
|
47
|
-
version:
|
|
33
|
+
version: 0.4.5
|
|
48
34
|
type: :runtime
|
|
49
35
|
prerelease: false
|
|
50
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
37
|
requirements:
|
|
52
38
|
- - ">="
|
|
53
39
|
- !ruby/object:Gem::Version
|
|
54
|
-
version:
|
|
40
|
+
version: 0.4.5
|
|
55
41
|
- !ruby/object:Gem::Dependency
|
|
56
|
-
name:
|
|
42
|
+
name: datafile
|
|
57
43
|
requirement: !ruby/object:Gem::Requirement
|
|
58
44
|
requirements:
|
|
59
45
|
- - ">="
|
|
60
46
|
- !ruby/object:Gem::Version
|
|
61
|
-
version:
|
|
47
|
+
version: 0.3.1
|
|
62
48
|
type: :runtime
|
|
63
49
|
prerelease: false
|
|
64
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
65
51
|
requirements:
|
|
66
52
|
- - ">="
|
|
67
53
|
- !ruby/object:Gem::Version
|
|
68
|
-
version:
|
|
54
|
+
version: 0.3.1
|
|
69
55
|
- !ruby/object:Gem::Dependency
|
|
70
|
-
name:
|
|
56
|
+
name: webservice
|
|
71
57
|
requirement: !ruby/object:Gem::Requirement
|
|
72
58
|
requirements:
|
|
73
59
|
- - ">="
|
|
74
60
|
- !ruby/object:Gem::Version
|
|
75
|
-
version: 0.
|
|
61
|
+
version: 0.7.0
|
|
76
62
|
type: :runtime
|
|
77
63
|
prerelease: false
|
|
78
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
79
65
|
requirements:
|
|
80
66
|
- - ">="
|
|
81
67
|
- !ruby/object:Gem::Version
|
|
82
|
-
version: 0.
|
|
68
|
+
version: 0.7.0
|
|
83
69
|
- !ruby/object:Gem::Dependency
|
|
84
|
-
name:
|
|
70
|
+
name: gli
|
|
85
71
|
requirement: !ruby/object:Gem::Requirement
|
|
86
72
|
requirements:
|
|
87
73
|
- - ">="
|
|
88
74
|
- !ruby/object:Gem::Version
|
|
89
|
-
version:
|
|
75
|
+
version: 2.19.0
|
|
90
76
|
type: :runtime
|
|
91
77
|
prerelease: false
|
|
92
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
93
79
|
requirements:
|
|
94
80
|
- - ">="
|
|
95
81
|
- !ruby/object:Gem::Version
|
|
96
|
-
version:
|
|
82
|
+
version: 2.19.0
|
|
97
83
|
- !ruby/object:Gem::Dependency
|
|
98
|
-
name:
|
|
84
|
+
name: sqlite3
|
|
99
85
|
requirement: !ruby/object:Gem::Requirement
|
|
100
86
|
requirements:
|
|
101
87
|
- - ">="
|
|
@@ -109,21 +95,7 @@ dependencies:
|
|
|
109
95
|
- !ruby/object:Gem::Version
|
|
110
96
|
version: '0'
|
|
111
97
|
- !ruby/object:Gem::Dependency
|
|
112
|
-
name:
|
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
|
114
|
-
requirements:
|
|
115
|
-
- - ">="
|
|
116
|
-
- !ruby/object:Gem::Version
|
|
117
|
-
version: 2.12.2
|
|
118
|
-
type: :runtime
|
|
119
|
-
prerelease: false
|
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
121
|
-
requirements:
|
|
122
|
-
- - ">="
|
|
123
|
-
- !ruby/object:Gem::Version
|
|
124
|
-
version: 2.12.2
|
|
125
|
-
- !ruby/object:Gem::Dependency
|
|
126
|
-
name: sqlite3
|
|
98
|
+
name: football-to-sqlite
|
|
127
99
|
requirement: !ruby/object:Gem::Requirement
|
|
128
100
|
requirements:
|
|
129
101
|
- - ">="
|
|
@@ -140,30 +112,36 @@ dependencies:
|
|
|
140
112
|
name: rdoc
|
|
141
113
|
requirement: !ruby/object:Gem::Requirement
|
|
142
114
|
requirements:
|
|
143
|
-
- - "
|
|
115
|
+
- - ">="
|
|
144
116
|
- !ruby/object:Gem::Version
|
|
145
117
|
version: '4.0'
|
|
118
|
+
- - "<"
|
|
119
|
+
- !ruby/object:Gem::Version
|
|
120
|
+
version: '7'
|
|
146
121
|
type: :development
|
|
147
122
|
prerelease: false
|
|
148
123
|
version_requirements: !ruby/object:Gem::Requirement
|
|
149
124
|
requirements:
|
|
150
|
-
- - "
|
|
125
|
+
- - ">="
|
|
151
126
|
- !ruby/object:Gem::Version
|
|
152
127
|
version: '4.0'
|
|
128
|
+
- - "<"
|
|
129
|
+
- !ruby/object:Gem::Version
|
|
130
|
+
version: '7'
|
|
153
131
|
- !ruby/object:Gem::Dependency
|
|
154
132
|
name: hoe
|
|
155
133
|
requirement: !ruby/object:Gem::Requirement
|
|
156
134
|
requirements:
|
|
157
135
|
- - "~>"
|
|
158
136
|
- !ruby/object:Gem::Version
|
|
159
|
-
version: '3.
|
|
137
|
+
version: '3.22'
|
|
160
138
|
type: :development
|
|
161
139
|
prerelease: false
|
|
162
140
|
version_requirements: !ruby/object:Gem::Requirement
|
|
163
141
|
requirements:
|
|
164
142
|
- - "~>"
|
|
165
143
|
- !ruby/object:Gem::Version
|
|
166
|
-
version: '3.
|
|
144
|
+
version: '3.22'
|
|
167
145
|
description: sportdb - sport.db Command Line Tool
|
|
168
146
|
email: opensport@googlegroups.com
|
|
169
147
|
executables:
|