Sha256: 7981c98e11e96bb6947508773f5c3de33b270bf3010f000b85ac80a8f41aa96f

Contents?: true

Size: 1.2 KB

Versions: 1

Compression:

Stored size: 1.2 KB

Contents

require 'httparty'
require 'uri'

module Lol
  class InvalidAPIResponse < StandardError; end

  class Client

    # @!attribute [rw] region
    #   @return [String] name of region
    attr_accessor :region

    # @!attribute [r] api_key
    #   @return [String] the API key that has been used
    attr_reader :api_key

    # @return [ChampionRequest]
    def champion
      @champion_request ||= ChampionRequest.new(api_key, region)
    end

    # @return [GameRequest]
    def game
      @game_request ||= GameRequest.new(api_key, region)
    end

    # @return [StatsRequest]
    def stats
      @stats_request ||= StatsRequest.new(api_key, region)
    end

    # @return [LeagueRequest]
    def league
      @league_request ||= LeagueRequest.new(api_key, region)
    end

    # @return [TeamRequest]
    def team
      @team_request ||= TeamRequest.new(api_key, region)
    end

    # Initializes a Lol::Client
    # @param api_key [String]
    # @param options [Hash]
    # @option options [String] :region ("EUW") The region on which the requests will be made
    # @return [Lol::Client]
    def initialize api_key, options = {}
      @api_key = api_key
      @region = options.delete(:region) || "euw"
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ruby-lol-0.0.7 lib/lol/client.rb