ruby-lol is a wrapper to the Riot Games API.
Add this line to your application's Gemfile:
gem'ruby-lol'And then execute:
$ bundle
Or install it yourself as:
$ gem install ruby-lol
[ Outdated, anyone who wants to contribute to this please do it :) ]
require'lol'client=Lol::Client.new"my_api_key",{region: "euw"}# => <Lol::Client:0x000000020c0b28 @api_key="my_api_key", @region="euw", @cached=false># NEW! You can cache requests using Redis now# ttl defaults to 900client=Lol::Client.new"my_api_key",{region: "euw",redis: "redis://localhost:6379",ttl: 900}# Available Requestsclient.champion# => Lol::ChampionRequestclient.game# => Lol::GameRequestclient.league# => Lol::LeagueRequestclient.stats# => Lol::StatsRequestclient.summoner# => Lol::SummonerRequestclient.team# => Lol::TeamRequest# Available methods for each request typeclient.champion.get# => Lol::Championclient.game.recent(summoner_id)# => Lol::Gameclient.league.get(summoner_id)# => Lol::Leagueclient.stats.summary(summoner_id)# => Lol::SummaryStatsclient.stats.ranked(summoner_id)# => Lol::RankedStatsclient.summoner.masteries(summoner_id)# => [Lol::Masterypage]client.summoner.runes(summoner_id)# => [Lol::Runepage]client.summoner.by_name(name)# => Lol::Summonerclient.summoner.get(summoner_id)# => Lol::Summonerclient.summoner.name(summoner_ids)# => [Hash]client.team.get(summoner_id)# => ArrayThe Riot API has a section carved out for static-data. These requests don't count against your rate limit. The mechanism for using them is similar to the standard requests above.
Each static endpoint has two possible requests: get and get(id). get returns an array of OpenStructs representing the data from Riot's API, and get(id) returns an OpenStruct with a single record. Here are some examples:
client.static# => Lol::StaticRequest
**NOTE**: StaticRequestis not meanttobeuseddirectly,butcan be!
client.static.champion# => Lol::StaticRequest (for endpoint /static-data/champion)client.static.champion.get# => [OpenStruct] (with keys from http://developer.riotgames.com/api/methods#!/378/1349)client.static.champion.get(id)# => OpenStruct (with keys from http://developer.riotgames.com/api/methods#!/378/1349)You can also pass query parameters as listed in the Riot API documentation. For example:
# returns all attributesclient.static.champion.get(champData: 'all')# returns only lore informationclient.static.champion.get(champData: 'lore')NOTE: The realm endpoint is not implemented. Let us know if you need it, but it seemed somewhat unnecessary.
- Fork it
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create new Pull Request
- 0.9.14 Fixed a caching bug
- 0.9.13 Updated to latest API versions
- 0.9.12 Fixed a caching bug
- 0.9.11 Added caching support via REDIS
- 0.9.7 Updated LeagueRequest to API v2.3
- 0.9.6 Updated SummonerRequest and GameRequest to API v1.3
- 0.9.5 Fixed documentation
- 0.9.4 Completed support for updated API





