danijoo/Sightstone

View on GitHub
lib/sightstone/modules/game_module.rb

Summary

Maintainability
A
25 mins
Test Coverage
require 'sightstone/modules/sightstone_base_module'
require 'sightstone/summoner'
require 'sightstone/match_history'
module Sightstone
# module to access the game api
class GameModule < SightstoneBaseModule
  
  def initialize(sightstone)
    @sightstone = sightstone
  end
  
  # returns the match history of a summoner
  # @param [Summoner, Fixnum] summoner summoner object or id of a summoner
  # @param optional [Hash] optional arguments: :region => replaces default region
  # @return [MatchHistory] match history of the summoner
  def recent(summoner, optional={})
    region = optional[:region] || @sightstone.region
   id = if summoner.is_a? Summoner
     summoner.id
   else
     summoner
   end
   uri = "https://prod.api.pvp.net/api/lol/#{region}/v1.3/game/by-summoner/#{id}/recent"
   
    response = _get_api_response(uri)
    _parse_response(response) { |resp|
      data = JSON.parse(resp)
      history =  MatchHistory.new(data)
      if block_given?
        yield history
      else
        return history
      end
    }
  end
  
  
end
end