class SportDb::Import::TeamIndex

Public Instance Methods

__find_by!( name:, league:, mods: nil ) click to toggle source
# File lib/sportdb/formats/team/team_index.rb, line 24
def __find_by!( name:, league:, mods: nil )
  if mods && mods[ league.key ] && mods[ league.key ][ name ]
    mods[ league.key ][ name ]
  else
    if league.clubs?
      if league.intl?    ## todo/fix: add intl? to ActiveRecord league!!!
        catalog.clubs.find!( name )
      else  ## assume clubs in domestic/national league tournament
        catalog.clubs.find_by!( name: name, country: league.country )
      end
    else   ## assume national teams (not clubs)
      catalog.national_teams.find!( name )
    end
  end
end
catalog() click to toggle source

note: “virtual” index lets you search clubs and/or national_teams (don't care)

# File lib/sportdb/formats/team/team_index.rb, line 9
def catalog() Import.catalog; end
find_by!( name:, league:, mods: nil ) click to toggle source

todo/check: rename to/use map_by! for array version - why? why not?

# File lib/sportdb/formats/team/team_index.rb, line 12
def find_by!( name:, league:, mods: nil )
  if name.is_a?( Array )
    recs = []
    name.each do |q|
      recs << __find_by!( name: q, league: league, mods: mods )
    end
    recs
  else  ## assume single name
    __find_by!( name: name, league: league, mods: mods )
  end
end