Class: SportDb::Sync::Season

Inherits:
Object
  • Object
show all
Defined in:
lib/sportdb/sync/season.rb

Class Method Summary collapse

Class Method Details

.find(season) ⇒ Object

finders



26
27
28
29
# 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) ⇒ Object



31
32
33
34
35
36
37
38
39
# 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) ⇒ Object



41
42
43
44
45
46
47
48
49
50
# 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(q) ⇒ Object

searchers



12
13
14
15
# File 'lib/sportdb/sync/season.rb', line 12

def self.search( q )   ## e.g. '2017/18'
  season = season( q )
  find( season )
end

.search_or_create(q) ⇒ Object

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



18
19
20
21
# 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) ⇒ Object

helper for season key (rename to norm_key ???)



4
5
6
# 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