sportdb 1.9.15 → 1.9.16
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/lib/sportdb.rb +59 -25
- data/lib/sportdb/cli/main.rb +12 -48
- data/lib/sportdb/models/forward.rb +4 -1
- data/lib/sportdb/stats.rb +2 -11
- data/lib/sportdb/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f652191b23c1c3acab00a7b950f7b93ec6bce4f4
|
|
4
|
+
data.tar.gz: 85fe028e22fa00c0ee763ba6f472c0d23016009e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e175cc5dbd766ef735bb4c00a7d2afd47466c1aa3543fe2911a26b696b80b2b18a832ad85e2dc9f9575804a441b6c2471daa2779c1bfec8cbdd2452bbd202877
|
|
7
|
+
data.tar.gz: 21136016a7ea1294f86f1064bc9f604613936d6f8e016fd53144337f1894fa5b7ee8e4453bb3aa83cb5a82e556764509e7d0befd4793fe6583b7c200ad5b5c27
|
data/lib/sportdb.rb
CHANGED
|
@@ -65,12 +65,6 @@ require 'sportdb/models/stats/group_standing_entry'
|
|
|
65
65
|
|
|
66
66
|
require 'sportdb/models/utils' # e.g. GameCursor
|
|
67
67
|
|
|
68
|
-
## add backwards compatible n convenience namespace
|
|
69
|
-
### move to forward.rb ?? - why? why not??
|
|
70
|
-
module SportDb
|
|
71
|
-
Models = Model
|
|
72
|
-
end
|
|
73
|
-
|
|
74
68
|
|
|
75
69
|
require 'sportdb/schema' # NB: requires sportdb/models (include SportDB::Models)
|
|
76
70
|
|
|
@@ -150,6 +144,17 @@ module SportDb
|
|
|
150
144
|
ConfDb::Model::Prop.create!( key: 'db.schema.sport.version', value: VERSION )
|
|
151
145
|
end
|
|
152
146
|
|
|
147
|
+
def self.create_all
|
|
148
|
+
## build schema - convenience helper
|
|
149
|
+
LogDb.create
|
|
150
|
+
ConfDb.create
|
|
151
|
+
TagDb.create
|
|
152
|
+
WorldDb.create
|
|
153
|
+
PersonDb.create
|
|
154
|
+
SportDb.create
|
|
155
|
+
end
|
|
156
|
+
|
|
157
|
+
|
|
153
158
|
def self.read_setup( setup, include_path )
|
|
154
159
|
reader = Reader.new( include_path )
|
|
155
160
|
reader.load_setup( setup )
|
|
@@ -197,40 +202,69 @@ module SportDb
|
|
|
197
202
|
|
|
198
203
|
|
|
199
204
|
def self.stats
|
|
200
|
-
|
|
201
|
-
stats.tables
|
|
202
|
-
stats.props
|
|
205
|
+
Stats.new.tables # NOTE: same as tables (remove??? why? why not??)
|
|
203
206
|
end
|
|
204
207
|
|
|
205
208
|
def self.tables
|
|
206
209
|
Stats.new.tables
|
|
207
210
|
end
|
|
208
211
|
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
212
|
+
|
|
213
|
+
def self.connect( db_config={} )
|
|
214
|
+
|
|
215
|
+
if db_config.empty?
|
|
216
|
+
puts "ENV['DATBASE_URL'] - >#{ENV['DATABASE_URL']}<"
|
|
217
|
+
|
|
218
|
+
### change default to ./sport.db ?? why? why not?
|
|
219
|
+
db = URI.parse( ENV['DATABASE_URL'] || 'sqlite3:///sport.db' )
|
|
220
|
+
|
|
221
|
+
if db.scheme == 'postgres'
|
|
222
|
+
config = {
|
|
223
|
+
adapter: 'postgresql',
|
|
224
|
+
host: db.host,
|
|
225
|
+
port: db.port,
|
|
226
|
+
username: db.user,
|
|
227
|
+
password: db.password,
|
|
228
|
+
database: db.path[1..-1],
|
|
229
|
+
encoding: 'utf8'
|
|
230
|
+
}
|
|
231
|
+
else # assume sqlite3
|
|
232
|
+
config = {
|
|
233
|
+
adapter: db.scheme, # sqlite3
|
|
234
|
+
database: db.path[1..-1] # sport.db (NB: cut off leading /, thus 1..-1)
|
|
235
|
+
}
|
|
236
|
+
end
|
|
237
|
+
else
|
|
238
|
+
config = db_config # use passed in config hash
|
|
239
|
+
end
|
|
240
|
+
|
|
241
|
+
## todo/check: use if defined?( JRUBY_VERSION ) instead ??
|
|
242
|
+
if RUBY_PLATFORM =~ /java/ && config[:adapter] == 'sqlite3'
|
|
243
|
+
# quick hack for JRuby sqlite3 support via jdbc
|
|
244
|
+
puts "jruby quick hack - adding jdbc libs for jruby sqlite3 database support"
|
|
245
|
+
require 'jdbc/sqlite3'
|
|
246
|
+
require 'active_record/connection_adapters/jdbc_adapter'
|
|
247
|
+
require 'active_record/connection_adapters/jdbcsqlite3_adapter'
|
|
248
|
+
end
|
|
249
|
+
|
|
250
|
+
puts "Connecting to db using settings: "
|
|
251
|
+
pp config
|
|
252
|
+
ActiveRecord::Base.establish_connection( config )
|
|
253
|
+
# ActiveRecord::Base.logger = Logger.new( STDOUT )
|
|
213
254
|
end
|
|
214
255
|
|
|
215
256
|
|
|
216
257
|
def self.setup_in_memory_db
|
|
217
|
-
# Database Setup & Config
|
|
218
258
|
|
|
259
|
+
# Database Setup & Config
|
|
219
260
|
ActiveRecord::Base.logger = Logger.new( STDOUT )
|
|
220
261
|
## ActiveRecord::Base.colorize_logging = false - no longer exists - check new api/config setting?
|
|
221
262
|
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
adapter: 'sqlite3',
|
|
225
|
-
database: ':memory:' )
|
|
263
|
+
self.connect( adapter: 'sqlite3',
|
|
264
|
+
database: ':memory:' )
|
|
226
265
|
|
|
227
266
|
## build schema
|
|
228
|
-
|
|
229
|
-
ConfDb.create
|
|
230
|
-
TagDb.create
|
|
231
|
-
WorldDb.create
|
|
232
|
-
PersonDb.create
|
|
233
|
-
SportDb.create
|
|
267
|
+
SportDb.create_all
|
|
234
268
|
|
|
235
269
|
## read builtins - why? why not?
|
|
236
270
|
SportDb.read_builtin
|
|
@@ -257,4 +291,4 @@ if __FILE__ == $0
|
|
|
257
291
|
else
|
|
258
292
|
## say hello
|
|
259
293
|
puts SportDb.banner
|
|
260
|
-
end
|
|
294
|
+
end
|
data/lib/sportdb/cli/main.rb
CHANGED
|
@@ -76,27 +76,10 @@ def connect_to_db( options )
|
|
|
76
76
|
|
|
77
77
|
puts "working directory: #{Dir.pwd}"
|
|
78
78
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
:database => "#{options.db_path}/#{options.db_name}"
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
## todo/check: use if defined?( JRUBY_VERSION ) instead ??
|
|
85
|
-
if RUBY_PLATFORM =~ /java/ && db_config[:adapter] == 'sqlite3'
|
|
86
|
-
# quick hack for JRuby sqlite3 support via jdbc
|
|
87
|
-
puts "jruby quick hack - adding jdbc libs for jruby sqlite3 database support"
|
|
88
|
-
require 'jdbc/sqlite3'
|
|
89
|
-
require 'active_record/connection_adapters/jdbc_adapter'
|
|
90
|
-
require 'active_record/connection_adapters/jdbcsqlite3_adapter'
|
|
91
|
-
end
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
puts "Connecting to db using settings: "
|
|
95
|
-
pp db_config
|
|
79
|
+
SportDb.connect( adapter: 'sqlite3',
|
|
80
|
+
database: "#{options.db_path}/#{options.db_name}" )
|
|
96
81
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
LogDb.setup # start logging to db
|
|
82
|
+
LogDb.setup # start logging to db (that is, save logs in logs table in db)
|
|
100
83
|
end
|
|
101
84
|
|
|
102
85
|
|
|
@@ -105,14 +88,9 @@ command [:create] do |c|
|
|
|
105
88
|
c.action do |g,o,args|
|
|
106
89
|
|
|
107
90
|
connect_to_db( opts )
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
TagDb.create
|
|
112
|
-
WorldDb.create
|
|
113
|
-
PersonDb.create
|
|
114
|
-
SportDb.create
|
|
115
|
-
|
|
91
|
+
|
|
92
|
+
SportDb.create_all
|
|
93
|
+
|
|
116
94
|
SportDb.read_builtin # e.g. seasons.txt etc
|
|
117
95
|
|
|
118
96
|
puts 'Done.'
|
|
@@ -130,12 +108,7 @@ command [:build,:b] do |c|
|
|
|
130
108
|
|
|
131
109
|
connect_to_db( opts )
|
|
132
110
|
|
|
133
|
-
|
|
134
|
-
ConfDb.create
|
|
135
|
-
TagDb.create
|
|
136
|
-
WorldDb.create
|
|
137
|
-
PersonDb.create
|
|
138
|
-
SportDb.create
|
|
111
|
+
SportDb.create_all
|
|
139
112
|
|
|
140
113
|
SportDb.read_builtin # e.g. seasons.txt etc
|
|
141
114
|
|
|
@@ -194,12 +167,7 @@ command [:new,:n] do |c|
|
|
|
194
167
|
|
|
195
168
|
connect_to_db( opts ) ### todo: check let connect go first?? - for logging (logs) to db ???
|
|
196
169
|
|
|
197
|
-
|
|
198
|
-
ConfDb.create
|
|
199
|
-
TagDb.create
|
|
200
|
-
WorldDb.create
|
|
201
|
-
PersonDb.create
|
|
202
|
-
SportDb.create
|
|
170
|
+
SportDb.create_all
|
|
203
171
|
|
|
204
172
|
SportDb.read_builtin # e.g. seasons.txt etc
|
|
205
173
|
|
|
@@ -231,12 +199,7 @@ command [:setup,:s] do |c|
|
|
|
231
199
|
## todo: document optional setup profile arg (defaults to all)
|
|
232
200
|
setup = args[0] || 'all'
|
|
233
201
|
|
|
234
|
-
|
|
235
|
-
ConfDb.create
|
|
236
|
-
TagDb.create
|
|
237
|
-
WorldDb.create
|
|
238
|
-
PersonDb.create
|
|
239
|
-
SportDb.create
|
|
202
|
+
SportDb.create_all
|
|
240
203
|
|
|
241
204
|
SportDb.read_builtin # e.g. seasons.txt etc
|
|
242
205
|
|
|
@@ -396,8 +359,9 @@ command :props do |c|
|
|
|
396
359
|
|
|
397
360
|
connect_to_db( opts )
|
|
398
361
|
|
|
399
|
-
SportDb.props
|
|
400
|
-
|
|
362
|
+
### fix: SportDb.props
|
|
363
|
+
## use ConfDb.props or similar!!!
|
|
364
|
+
|
|
401
365
|
puts 'Done.'
|
|
402
366
|
end
|
|
403
367
|
end
|
data/lib/sportdb/stats.rb
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
module SportDb
|
|
3
3
|
|
|
4
4
|
class Stats
|
|
5
|
-
include
|
|
5
|
+
include Models
|
|
6
6
|
|
|
7
7
|
def tables
|
|
8
8
|
puts " #{League.count} leagues / #{Season.count} seasons"
|
|
@@ -22,15 +22,6 @@ module SportDb
|
|
|
22
22
|
## puts " #{Record.count} records (race|run+person recs)"
|
|
23
23
|
end
|
|
24
24
|
|
|
25
|
-
## fix/chek:
|
|
26
|
-
# move to Prop gem / reuse code from Prop gem
|
|
27
|
-
def props
|
|
28
|
-
puts "Props:"
|
|
29
|
-
Prop.order( 'created_at asc' ).all.each do |prop|
|
|
30
|
-
puts " #{prop.key} / #{prop.value} || #{prop.created_at}"
|
|
31
|
-
end
|
|
32
|
-
end
|
|
33
|
-
|
|
34
25
|
end # class Stats
|
|
35
26
|
|
|
36
|
-
end # module SportDb
|
|
27
|
+
end # module SportDb
|
data/lib/sportdb/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: sportdb
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.9.
|
|
4
|
+
version: 1.9.16
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Gerald Bauer
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2014-
|
|
11
|
+
date: 2014-12-03 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: props
|