class SportDb::Sync::Season

Public Class Methods

find( season ) click to toggle source

finders

# File lib/sportdb/sync/season.rb, line 26
def self.find( season )
  season = season( season )  if season.is_a?( String )   ## auto-convert for now (for old compat) - why? why not?
  Model::Season.find_by( key: season.key )
end
find!( season ) click to toggle source
# File lib/sportdb/sync/season.rb, line 31
def self.find!( season )
  season = season( season )  if season.is_a?( String )   ## auto-convert for now (for old compat) - why? why not?
  rec = find( season )
  if rec.nil?
    puts "** !!!ERROR!!! db sync - no season match found for >#{season.key}<:"
    exit 1
  end
  rec
end
find_or_create( season ) click to toggle source
# File lib/sportdb/sync/season.rb, line 41
def self.find_or_create( season )
  season = season( season )  if season.is_a?( String )   ## auto-convert for now (for old compat) - why? why not?
  rec = find( season )
  if rec.nil?
     attribs = { key:   season.key,
                 name:  season.name  }
     rec = Model::Season.create!( attribs )
  end
  rec
end
search_or_create( q ) click to toggle source

todo/fix: remove builtin marker? - there are no “builtin” seasons like numbers all excepted for now

# File lib/sportdb/sync/season.rb, line 18
def self.search_or_create( q )  ## e.g. '2017-18'
  season = season( q )
  find_or_create( season )
end
season( q ) click to toggle source
# File lib/sportdb/sync/season.rb, line 4
def self.season( q )    ## helper for season key (rename to norm_key ???)
  Import::Season.new( q )
end