class LoLBase::ChampionList

Public Class Methods

new(region, connection) click to toggle source
# File lib/lolbase/data/champion.rb, line 3
def initialize(region, connection)
  @champions = []

  data = JSON.parse connection.get("/api/lol/#{region}/v1.1/champion")
  data["champions"].each do |c|
    @champions << Champion.new(c)
  end

  self
end

Public Instance Methods

all() click to toggle source
# File lib/lolbase/data/champion.rb, line 28
def all
  return @champions
end
find(criteria = {}) click to toggle source
# File lib/lolbase/data/champion.rb, line 14
def find(criteria = {})
  raise InvalidArgumentError if criteria.class != Hash

  if criteria[:id]
    return @champions.select { |champ| champ.id == criteria[:id] }.first
  elsif criteria[:name]
    return @champions.select { |champ| champ.name == criteria[:name] }.first
  elsif criteria[:free_to_play]
    return @champions.select { |champ| champ.f2p? == criteria[:free_to_play] }
  end

  nil
end