sportdb 1.9.15 → 1.9.16
Sign up to get free protection for your applications and to get access to all the features.
- 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
|