sportdb-models 2.0.3 → 2.1.0
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 +5 -5
- data/CHANGELOG.md +22 -20
- data/Manifest.txt +0 -4
- data/README.md +28 -31
- data/Rakefile +32 -32
- data/lib/sportdb/models/formats.rb +23 -23
- data/lib/sportdb/models/models/assoc.rb +38 -38
- data/lib/sportdb/models/models/badge.rb +14 -14
- data/lib/sportdb/models/models/forward.rb +55 -55
- data/lib/sportdb/models/models/goal.rb +15 -15
- data/lib/sportdb/models/models/league.rb +20 -20
- data/lib/sportdb/models/models/lineup.rb +20 -17
- data/lib/sportdb/models/models/person.rb +21 -21
- data/lib/sportdb/models/models/season.rb +15 -15
- data/lib/sportdb/models/models/stats/event_standing.rb +31 -31
- data/lib/sportdb/models/models/team.rb +3 -2
- data/lib/sportdb/models/models/world/continent.rb +20 -20
- data/lib/sportdb/models/models/world/state.rb +19 -19
- data/lib/sportdb/models/schema.rb +471 -466
- data/lib/sportdb/models/version.rb +26 -27
- data/lib/sportdb/models.rb +240 -212
- metadata +8 -13
- data/test/helper.rb +0 -46
- data/test/test_changes.rb +0 -78
- data/test/test_cursor.rb +0 -55
- data/test/test_winner.rb +0 -100
@@ -1,27 +1,26 @@
|
|
1
|
-
module SportDb
|
2
|
-
module Module
|
3
|
-
module Models
|
4
|
-
MAJOR = 2
|
5
|
-
MINOR =
|
6
|
-
PATCH =
|
7
|
-
VERSION = [MAJOR,MINOR,PATCH].join('.')
|
8
|
-
|
9
|
-
def self.version
|
10
|
-
VERSION
|
11
|
-
end
|
12
|
-
|
13
|
-
def self.banner
|
14
|
-
"sportdb-models/#{VERSION} on Ruby #{RUBY_VERSION} (#{RUBY_RELEASE_DATE}) [#{RUBY_PLATFORM}]"
|
15
|
-
end
|
16
|
-
|
17
|
-
def self.root
|
18
|
-
|
19
|
-
end
|
20
|
-
|
21
|
-
end # module
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
end # module SportDb
|
1
|
+
module SportDb
|
2
|
+
module Module
|
3
|
+
module Models
|
4
|
+
MAJOR = 2
|
5
|
+
MINOR = 1
|
6
|
+
PATCH = 0
|
7
|
+
VERSION = [MAJOR,MINOR,PATCH].join('.')
|
8
|
+
|
9
|
+
def self.version
|
10
|
+
VERSION
|
11
|
+
end
|
12
|
+
|
13
|
+
def self.banner
|
14
|
+
"sportdb-models/#{VERSION} on Ruby #{RUBY_VERSION} (#{RUBY_RELEASE_DATE}) [#{RUBY_PLATFORM}] in (#{root})"
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.root
|
18
|
+
File.expand_path( File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) )
|
19
|
+
end
|
20
|
+
end # module Models
|
21
|
+
end # module Module
|
22
|
+
|
23
|
+
#################
|
24
|
+
## add convenience shortcuts
|
25
|
+
VERSION = Module::Models::VERSION
|
26
|
+
end # module SportDb
|
data/lib/sportdb/models.rb
CHANGED
@@ -1,212 +1,240 @@
|
|
1
|
-
# core and stlibs (note: get included via worlddb-models gem; see worlddb-models gem/lib)
|
2
|
-
require 'worlddb/models' # NOTE: include worlddb-models gem (not cli tools gem, that is, worlddb)
|
3
|
-
require 'persondb/models'
|
4
|
-
|
5
|
-
|
6
|
-
# our own code
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
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
|
-
|
45
|
-
module SportDb
|
46
|
-
|
47
|
-
def self.create
|
48
|
-
CreateDb.new.up
|
49
|
-
ConfDb::Model::Prop.create!( key: 'db.schema.sport.version', value: VERSION )
|
50
|
-
end
|
51
|
-
|
52
|
-
def self.create_all
|
53
|
-
## build schema - convenience helper
|
54
|
-
LogDb.create
|
55
|
-
ConfDb.create
|
56
|
-
TagDb.create
|
57
|
-
WorldDb.create
|
58
|
-
PersonDb.create
|
59
|
-
SportDb.create
|
60
|
-
end
|
61
|
-
|
62
|
-
def self.auto_migrate!
|
63
|
-
### todo/fix:
|
64
|
-
## check props table and versions!!!!!
|
65
|
-
|
66
|
-
# first time? - auto-run db migratation, that is, create db tables
|
67
|
-
unless LogDb::Model::Log.table_exists?
|
68
|
-
LogDb.create # add logs table
|
69
|
-
end
|
70
|
-
|
71
|
-
unless ConfDb::Model::Prop.table_exists?
|
72
|
-
ConfDb.create # add props table
|
73
|
-
end
|
74
|
-
|
75
|
-
|
76
|
-
unless TagDb::Model::Tag.table_exists?
|
77
|
-
TagDb.create # add tags & taggings tables
|
78
|
-
end
|
79
|
-
|
80
|
-
unless WorldDb::Model::Place.table_exists?
|
81
|
-
WorldDb.create # add places, & co. tables
|
82
|
-
end
|
83
|
-
|
84
|
-
unless PersonDb::Model::Person.table_exists?
|
85
|
-
PersonDb.create # add persons table
|
86
|
-
end
|
87
|
-
|
88
|
-
unless SportDb::Model::League.table_exists?
|
89
|
-
SportDb.create
|
90
|
-
end
|
91
|
-
end # method auto_migrate!
|
92
|
-
|
93
|
-
|
94
|
-
# delete ALL records (use with care!)
|
95
|
-
def self.delete!
|
96
|
-
puts '*** deleting sport table records/data...'
|
97
|
-
Deleter.new.run
|
98
|
-
end # method delete!
|
99
|
-
|
100
|
-
|
101
|
-
def self.tables
|
102
|
-
Stats.new.tables
|
103
|
-
end
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
##
|
142
|
-
|
143
|
-
##
|
144
|
-
|
145
|
-
##
|
146
|
-
## require '
|
147
|
-
##
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
##
|
160
|
-
|
161
|
-
|
162
|
-
con
|
163
|
-
con.execute( 'PRAGMA
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
1
|
+
# core and stlibs (note: get included via worlddb-models gem; see worlddb-models gem/lib)
|
2
|
+
require 'worlddb/models' # NOTE: include worlddb-models gem (not cli tools gem, that is, worlddb)
|
3
|
+
require 'persondb/models'
|
4
|
+
|
5
|
+
|
6
|
+
# our own code
|
7
|
+
require_relative 'models/version' # let version always go first
|
8
|
+
|
9
|
+
require_relative 'models/formats'
|
10
|
+
require_relative 'models/models/forward'
|
11
|
+
|
12
|
+
require_relative 'models/models/world/city'
|
13
|
+
require_relative 'models/models/world/country'
|
14
|
+
require_relative 'models/models/world/continent'
|
15
|
+
require_relative 'models/models/world/state'
|
16
|
+
|
17
|
+
require_relative 'models/models/assoc'
|
18
|
+
require_relative 'models/models/badge'
|
19
|
+
require_relative 'models/models/event'
|
20
|
+
require_relative 'models/models/goal'
|
21
|
+
require_relative 'models/models/ground'
|
22
|
+
require_relative 'models/models/group'
|
23
|
+
require_relative 'models/models/league'
|
24
|
+
require_relative 'models/models/lineup'
|
25
|
+
require_relative 'models/models/match'
|
26
|
+
require_relative 'models/models/person'
|
27
|
+
require_relative 'models/models/round'
|
28
|
+
require_relative 'models/models/season'
|
29
|
+
require_relative 'models/models/stage'
|
30
|
+
require_relative 'models/models/team'
|
31
|
+
|
32
|
+
require_relative 'models/models/stats/alltime_standing'
|
33
|
+
require_relative 'models/models/stats/event_standing'
|
34
|
+
require_relative 'models/models/stats/group_standing'
|
35
|
+
|
36
|
+
require_relative 'models/schema' # note: requires sportdb/models (include SportDB::Models)
|
37
|
+
|
38
|
+
require_relative 'models/utils' # e.g. MatchCursor
|
39
|
+
|
40
|
+
require_relative 'models/deleter'
|
41
|
+
require_relative 'models/stats'
|
42
|
+
|
43
|
+
|
44
|
+
|
45
|
+
module SportDb
|
46
|
+
|
47
|
+
def self.create
|
48
|
+
CreateDb.new.up
|
49
|
+
ConfDb::Model::Prop.create!( key: 'db.schema.sport.version', value: VERSION )
|
50
|
+
end
|
51
|
+
|
52
|
+
def self.create_all
|
53
|
+
## build schema - convenience helper
|
54
|
+
LogDb.create
|
55
|
+
ConfDb.create
|
56
|
+
TagDb.create
|
57
|
+
WorldDb.create
|
58
|
+
PersonDb.create
|
59
|
+
SportDb.create
|
60
|
+
end
|
61
|
+
|
62
|
+
def self.auto_migrate!
|
63
|
+
### todo/fix:
|
64
|
+
## check props table and versions!!!!!
|
65
|
+
|
66
|
+
# first time? - auto-run db migratation, that is, create db tables
|
67
|
+
unless LogDb::Model::Log.table_exists?
|
68
|
+
LogDb.create # add logs table
|
69
|
+
end
|
70
|
+
|
71
|
+
unless ConfDb::Model::Prop.table_exists?
|
72
|
+
ConfDb.create # add props table
|
73
|
+
end
|
74
|
+
|
75
|
+
|
76
|
+
unless TagDb::Model::Tag.table_exists?
|
77
|
+
TagDb.create # add tags & taggings tables
|
78
|
+
end
|
79
|
+
|
80
|
+
unless WorldDb::Model::Place.table_exists?
|
81
|
+
WorldDb.create # add places, & co. tables
|
82
|
+
end
|
83
|
+
|
84
|
+
unless PersonDb::Model::Person.table_exists?
|
85
|
+
PersonDb.create # add persons table
|
86
|
+
end
|
87
|
+
|
88
|
+
unless SportDb::Model::League.table_exists?
|
89
|
+
SportDb.create
|
90
|
+
end
|
91
|
+
end # method auto_migrate!
|
92
|
+
|
93
|
+
|
94
|
+
# delete ALL records (use with care!)
|
95
|
+
def self.delete!
|
96
|
+
puts '*** deleting sport table records/data...'
|
97
|
+
Deleter.new.run
|
98
|
+
end # method delete!
|
99
|
+
|
100
|
+
|
101
|
+
def self.tables
|
102
|
+
Stats.new.tables
|
103
|
+
end
|
104
|
+
|
105
|
+
|
106
|
+
### use/change to **config - to allow "inline" conif with keywords
|
107
|
+
## (without enclosing {}) - why? why not?
|
108
|
+
def self.connect!( config={} ) # convenience shortcut w/ automigrate
|
109
|
+
connect( config )
|
110
|
+
auto_migrate!
|
111
|
+
end
|
112
|
+
|
113
|
+
def self.connect( config={} )
|
114
|
+
if config.empty?
|
115
|
+
puts "ENV['DATBASE_URL'] - >#{ENV['DATABASE_URL']}<"
|
116
|
+
|
117
|
+
### change default to ./sport.db ?? why? why not?
|
118
|
+
db = URI.parse( ENV['DATABASE_URL'] || 'sqlite3:///sport.db' )
|
119
|
+
|
120
|
+
config = if db.scheme == 'postgres'
|
121
|
+
{ adapter: 'postgresql',
|
122
|
+
host: db.host,
|
123
|
+
port: db.port,
|
124
|
+
username: db.user,
|
125
|
+
password: db.password,
|
126
|
+
database: db.path[1..-1],
|
127
|
+
encoding: 'utf8'
|
128
|
+
}
|
129
|
+
else # assume sqlite3
|
130
|
+
{ adapter: db.scheme, # sqlite3
|
131
|
+
database: db.path[1..-1] # sport.db (NB: cut off leading /, thus 1..-1)
|
132
|
+
}
|
133
|
+
end
|
134
|
+
else
|
135
|
+
## note: for compatibility lets you also pass-in/use string keys
|
136
|
+
## e.g. YAML.load uses/returns always string keys - always auto-convert to symbols
|
137
|
+
config = config.symbolize_keys
|
138
|
+
end
|
139
|
+
|
140
|
+
|
141
|
+
## todo/check/fix: move jruby "hack" to attic - why? why not?
|
142
|
+
## todo/check: use if defined?( JRUBY_VERSION ) instead ??
|
143
|
+
## if RUBY_PLATFORM =~ /java/ && config[:adapter] == 'sqlite3'
|
144
|
+
# quick hack for JRuby sqlite3 support via jdbc
|
145
|
+
## puts "jruby quick hack - adding jdbc libs for jruby sqlite3 database support"
|
146
|
+
## require 'jdbc/sqlite3'
|
147
|
+
## require 'active_record/connection_adapters/jdbc_adapter'
|
148
|
+
## require 'active_record/connection_adapters/jdbcsqlite3_adapter'
|
149
|
+
## end
|
150
|
+
|
151
|
+
puts "Connecting to db using settings: "
|
152
|
+
pp config
|
153
|
+
ActiveRecord::Base.establish_connection( config )
|
154
|
+
# ActiveRecord::Base.logger = Logger.new( STDOUT )
|
155
|
+
|
156
|
+
## if sqlite3 add (use) some pragmas for speedups
|
157
|
+
if config[:adapter] == 'sqlite3' &&
|
158
|
+
config[:database] != ':memory:'
|
159
|
+
## note: if in memory database e.g. ':memory:' no pragma needed!!
|
160
|
+
## try to speed up sqlite
|
161
|
+
## see http://www.sqlite.org/pragma.html
|
162
|
+
con = ActiveRecord::Base.connection
|
163
|
+
con.execute( 'PRAGMA synchronous=OFF;' )
|
164
|
+
con.execute( 'PRAGMA journal_mode=OFF;' )
|
165
|
+
con.execute( 'PRAGMA temp_store=MEMORY;' )
|
166
|
+
end
|
167
|
+
end
|
168
|
+
|
169
|
+
|
170
|
+
|
171
|
+
def self.open( path ) ## shortcut for sqlite only
|
172
|
+
config = {
|
173
|
+
adapter: 'sqlite3',
|
174
|
+
database: path # e.g. ':memory', './sport.db'
|
175
|
+
}
|
176
|
+
connect!( config )
|
177
|
+
end
|
178
|
+
|
179
|
+
def self.setup_in_memory_db
|
180
|
+
# Database Setup & Config
|
181
|
+
## add logger as option - why? why not?
|
182
|
+
## e.g. open_mem( logger: true ) or
|
183
|
+
## always possible to add logger "manually" before
|
184
|
+
## thus, no need for option/flag really ??
|
185
|
+
## ActiveRecord::Base.logger = Logger.new( STDOUT )
|
186
|
+
## ActiveRecord::Base.colorize_logging = false - no longer exists - check new api/config setting?
|
187
|
+
|
188
|
+
config = {
|
189
|
+
adapter: 'sqlite3',
|
190
|
+
database: ':memory:'
|
191
|
+
}
|
192
|
+
connect( config )
|
193
|
+
|
194
|
+
## build schema
|
195
|
+
create_all
|
196
|
+
end # setup_in_memory_db (using SQLite :memory:)
|
197
|
+
|
198
|
+
|
199
|
+
###########
|
200
|
+
# add more aliases/alt names for in memory db - why? why not?
|
201
|
+
## rename to open_mem for canonical name - why? why not?
|
202
|
+
class << self
|
203
|
+
alias_method :open_mem, :setup_in_memory_db
|
204
|
+
alias_method :open_memory, :setup_in_memory_db
|
205
|
+
alias_method :open_in_memory, :setup_in_memory_db
|
206
|
+
end
|
207
|
+
end # module SportDb
|
208
|
+
|
209
|
+
|
210
|
+
|
211
|
+
module SportDb
|
212
|
+
module Model
|
213
|
+
##################
|
214
|
+
# add alias why? why not?
|
215
|
+
#
|
216
|
+
# more aliases to consider:
|
217
|
+
# - Roster for Squad/Lineup?
|
218
|
+
# - Stadium / Venue for Ground? - why? why not?
|
219
|
+
#
|
220
|
+
# use Competition/Tournament for League/Cup alias
|
221
|
+
#
|
222
|
+
# Event => LeagueSeason (League+Season) - use LeagueSeason alias - why? why not?
|
223
|
+
|
224
|
+
|
225
|
+
### fix - use Squad for (all) LeagueSeason players
|
226
|
+
## use Lineup for players for one match!!!!
|
227
|
+
|
228
|
+
LineUp = Lineup
|
229
|
+
Squad = Lineup #### fix - do NOT use squad and lineup as alias (see above)!!!!
|
230
|
+
|
231
|
+
Game = Match ## add (old) alias - why? why not?
|
232
|
+
end # module Model
|
233
|
+
end # module SportDb
|
234
|
+
|
235
|
+
|
236
|
+
|
237
|
+
## say hello
|
238
|
+
puts SportDb::Module::Models.banner
|
239
|
+
|
240
|
+
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sportdb-models
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0
|
4
|
+
version: 2.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gerald Bauer
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-06-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: worlddb-models
|
@@ -64,14 +64,14 @@ dependencies:
|
|
64
64
|
requirements:
|
65
65
|
- - "~>"
|
66
66
|
- !ruby/object:Gem::Version
|
67
|
-
version: '
|
67
|
+
version: '4.1'
|
68
68
|
type: :development
|
69
69
|
prerelease: false
|
70
70
|
version_requirements: !ruby/object:Gem::Requirement
|
71
71
|
requirements:
|
72
72
|
- - "~>"
|
73
73
|
- !ruby/object:Gem::Version
|
74
|
-
version: '
|
74
|
+
version: '4.1'
|
75
75
|
description: sportdb-models - sport.db schema 'n' models for easy (re)use
|
76
76
|
email: opensport@googlegroups.com
|
77
77
|
executables: []
|
@@ -114,15 +114,11 @@ files:
|
|
114
114
|
- lib/sportdb/models/stats.rb
|
115
115
|
- lib/sportdb/models/utils.rb
|
116
116
|
- lib/sportdb/models/version.rb
|
117
|
-
- test/helper.rb
|
118
|
-
- test/test_changes.rb
|
119
|
-
- test/test_cursor.rb
|
120
|
-
- test/test_winner.rb
|
121
117
|
homepage: https://github.com/sportdb/sport.db
|
122
118
|
licenses:
|
123
119
|
- Public Domain
|
124
120
|
metadata: {}
|
125
|
-
post_install_message:
|
121
|
+
post_install_message:
|
126
122
|
rdoc_options:
|
127
123
|
- "--main"
|
128
124
|
- README.md
|
@@ -139,9 +135,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
139
135
|
- !ruby/object:Gem::Version
|
140
136
|
version: '0'
|
141
137
|
requirements: []
|
142
|
-
|
143
|
-
|
144
|
-
signing_key:
|
138
|
+
rubygems_version: 3.4.10
|
139
|
+
signing_key:
|
145
140
|
specification_version: 4
|
146
141
|
summary: sportdb-models - sport.db schema 'n' models for easy (re)use
|
147
142
|
test_files: []
|
data/test/helper.rb
DELETED
@@ -1,46 +0,0 @@
|
|
1
|
-
## minitest setup
|
2
|
-
require 'minitest/autorun'
|
3
|
-
|
4
|
-
|
5
|
-
## our own code
|
6
|
-
require 'sportdb/models'
|
7
|
-
|
8
|
-
|
9
|
-
#####################
|
10
|
-
# Models shortcuts
|
11
|
-
|
12
|
-
Country = WorldDb::Model::Country
|
13
|
-
|
14
|
-
Person = PersonDb::Model::Person
|
15
|
-
|
16
|
-
League = SportDb::Model::League
|
17
|
-
Season = SportDb::Model::Season
|
18
|
-
Event = SportDb::Model::Event
|
19
|
-
Team = SportDb::Model::Team
|
20
|
-
Lineup = SportDb::Model::Lineup
|
21
|
-
Assoc = SportDb::Model::Assoc
|
22
|
-
AssocAssoc = SportDb::Model::AssocAssoc
|
23
|
-
|
24
|
-
Round = SportDb::Model::Round
|
25
|
-
Group = SportDb::Model::Group
|
26
|
-
Stage = SportDb::Model::Stage
|
27
|
-
Match = SportDb::Model::Match
|
28
|
-
MatchCursor = SportDb::Model::MatchCursor
|
29
|
-
|
30
|
-
|
31
|
-
EventStanding = SportDb::Model::EventStanding
|
32
|
-
EventStandingEntry = SportDb::Model::EventStandingEntry
|
33
|
-
GroupStanding = SportDb::Model::GroupStanding
|
34
|
-
GroupStandingEntry = SportDb::Model::GroupStandingEntry
|
35
|
-
AlltimeStanding = SportDb::Model::AlltimeStanding
|
36
|
-
AlltimeStandingEntry = SportDb::Model::AlltimeStandingEntry
|
37
|
-
|
38
|
-
|
39
|
-
#################################
|
40
|
-
# setup db -> schema / tables
|
41
|
-
|
42
|
-
SportDb.setup_in_memory_db
|
43
|
-
|
44
|
-
## test helpers here
|
45
|
-
SportDb.delete!
|
46
|
-
SportDb.tables
|