lib/sportdb/loader.rb in sportdb-0.8.1 vs lib/sportdb/loader.rb in sportdb-0.9.0

- old
+ new

@@ -40,40 +40,60 @@ puts "*** loading data '#{name}' (#{path})..." code = File.read( path ) load_fixtures_worker( code ) + + ### fix: + ## for loaded from fs use filestat? for version - why? why not? + + Prop.create!( key: "db.#{fixture_name_to_prop_key(name)}.version", value: "rb.1" ) end def load_fixtures_builtin( name ) # load from gem (built-in) path = "#{SportDB.root}/db/#{name}.rb" puts "*** loading data '#{name}' (#{path})..." code = File.read( path ) load_fixtures_worker( code ) + + ## for builtin fixtures use VERSION of gem + + Prop.create!( key: "db.#{fixture_name_to_prop_key(name)}.version", value: "sport.rb.#{SportDB::VERSION}" ) end private + + ## + # fix/todo: share helper w/ other readers + + # helper + # change at/2012_13/bl to at.2012/13.bl + # or quali_2012_13_europe_c to quali.2012/13.europe.c + + def fixture_name_to_prop_key( name ) + prop_key = name.gsub( '/', '.' ) + prop_key = prop_key.gsub( /(\d{4})_(\d{2})/, '\1/\2' ) # 2012_13 => 2012/13 + prop_key = prop_key.gsub( '_', '.' ) + prop_key + end + + + + def load_fixtures_worker( code ) self.class_eval( code ) # NB: same as # # module SportDB # include SportDB::Models # <code here> # end - - - # require path - # require "#{Dir.pwd}/db/#{seed}.rb" - - # Prop.create!( :key => "db.#{name}.version", :value => SportDB::VERSION ) - end end # class Loader end # module SportDB