rito_api 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/README.md +102 -1
- data/lib/rito_api/requests/match.rb +117 -0
- data/lib/rito_api/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: defbb82c46a204fb5b399779edeb88aed1f27539
|
4
|
+
data.tar.gz: 87f85c6e2c945b96a7ed7458f491ab127cc6a505
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: db7fa24b976af7bccfe597e37c16b788ed9fcedb28b4120ae23515ec3bb67a7701b03367a7a5d9deedbdec26d8fa8b27abd36eb5fb8a85f25f7ac9c3481b9bba
|
7
|
+
data.tar.gz: a1f7d2f95aad63984f03dc51a9b18bff65ecd36ce8d797d2dc11d9054b1415eb89dbe1d2ceb55c209feb596a9403356d0e12af4d988ef1f7d3e711bce060373b
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -22,8 +22,109 @@ Or install it yourself as:
|
|
22
22
|
|
23
23
|
## Usage
|
24
24
|
|
25
|
-
|
25
|
+
Create a client. You can declare whether to cache it or not. Caching is consider more productive.
|
26
|
+
*Only supports Redis caching so you need to run redis server before declaring cache as true.
|
26
27
|
|
28
|
+
```rb
|
29
|
+
client = RitoApi::Client(api_key, region, true, 180) # client = RitoApi:Client(api_key, region, cache[true or false], ttl[time till expiration in seconds]).
|
30
|
+
# By default caching is set to false.
|
31
|
+
```
|
32
|
+
There are 5 kinds of public readable request formats. summoner, champion, item, match, challenger
|
33
|
+
|
34
|
+
Challenger:
|
35
|
+
```rb
|
36
|
+
challengers = client.challenger.solo_queue(count, ttl) # Yes you can modify ttl for every method to overwrite the initial ttl.
|
37
|
+
# Count will give back that number of results from the 200 challenger result. If you put down name or number <= 0 and > 200 it will return all 200 results.
|
38
|
+
#Example:
|
39
|
+
top5chalengers = client.challengers.solo_queue(5, 3600) # This will give you top 5 challengers and save the challengers in the cache for 60 minutes.
|
40
|
+
```
|
41
|
+
Summoner:
|
42
|
+
```rb
|
43
|
+
#find(IGN) => Find the summoner for given IGN.
|
44
|
+
mySummoner = client.summoner.find('rockerturner') # you can pass ttl as second argument but by default it will use the initialized ttl which is 180 here.
|
45
|
+
|
46
|
+
#rank_info => returns rank information for given IGN. if not ranked on any queue; should return nil or {}.
|
47
|
+
myRank = client.summoner.rank_info('rockerturner')
|
48
|
+
|
49
|
+
#solo, flex, tt => will use rank_info to get queried rank.
|
50
|
+
mySoloRank = client.summoner.solo('rockerturner')
|
51
|
+
myFlexRank = client.summoner.flex('rockerturner')
|
52
|
+
myTwistedTreeRank = client.summoner.tt('rockerturner')
|
53
|
+
|
54
|
+
#recent_matches => returns 20 recent matches fragment data of given IGN.
|
55
|
+
myRecentMatches => client.summoner.recent_matches('rockerturner')
|
56
|
+
|
57
|
+
#top_positions => return 2 top position played by the summoner in last 20 matches of given IGN.
|
58
|
+
myTopPositions = client.summoner.top_positions('rockerturner')
|
59
|
+
|
60
|
+
#champion_mastery => returns all the champion mastery for given ign with mastery level and points. You can pass in second argument of count to get top count mastery.
|
61
|
+
myTop3Masteries = client.summoner.champion_mastery('rockerturner', 3)
|
62
|
+
|
63
|
+
#icon => return icon link of the given iconID.
|
64
|
+
myIcon = client.summoner.icon(iconId) # You can get iconID from metadata of find(ign).
|
65
|
+
#Example:
|
66
|
+
rockerturner_icon = client.summoner.icon(mySummoner[:profileIconId]) #mySummoner was defined earlier.
|
67
|
+
```
|
68
|
+
Champion:
|
69
|
+
```rb
|
70
|
+
#Champion calls are relatively easy.
|
71
|
+
|
72
|
+
#get_name => gets the name of given champion ID.
|
73
|
+
championName = client.champion.get_name('43') # Returns Karma.
|
74
|
+
|
75
|
+
#Lets make real use of this.
|
76
|
+
|
77
|
+
myTop3Masteries.each do |champion|
|
78
|
+
puts client.champion.get_name(champion[:championId]) #This is print out the name of myTop3Masteries champions.
|
79
|
+
end
|
80
|
+
|
81
|
+
#icon => gets the icon link for the given champion.
|
82
|
+
|
83
|
+
vayneIcon = client.champion.icon('Vayne') #casesensitive. wukong is MonkeyKing
|
84
|
+
|
85
|
+
#points => just gives K or M depending on the points sent in.
|
86
|
+
|
87
|
+
myPoints = client.champion.points(500000) # Will return 500K
|
88
|
+
|
89
|
+
#Lets make real use of this.
|
90
|
+
|
91
|
+
myTop3Masteries.each do |champion|
|
92
|
+
puts "#{client.champion.get_name(champion[:championId])} = #{client.champion.points(champion[:championPoints])}"
|
93
|
+
#This is print out the name = masteryPoints of myTop3Masteries champions.
|
94
|
+
end
|
95
|
+
```
|
96
|
+
#match
|
97
|
+
```rb
|
98
|
+
#get => gets match information.
|
99
|
+
myMatch = client.matches.get(matchId) # You can get a matchID from summoner.recent_matches.
|
100
|
+
rockerturnerMatch = client.matches.get(2769842762) # This is one of my matches. We will be using it as an example for rest of the methods.
|
101
|
+
|
102
|
+
#get_bans => gets all the banned championId. Separated into 2 arrays for blue and red team.
|
103
|
+
rockerturnerMatchBans = client.matches.get_bans(2769842762)
|
104
|
+
|
105
|
+
#get_players => gets all the players in the match with their ign and id and iconId etcetera.
|
106
|
+
rockerturnerMatchPlayers = client.matches.get_players(2769842762)
|
107
|
+
|
108
|
+
#stats => gets the stats of the game.
|
109
|
+
rockerturnerMatchStats = client.matches.stats(2769842762)
|
110
|
+
|
111
|
+
#player_stats => returns players stats playing certain champion.
|
112
|
+
#I played karma this game and champion ID for karma is 43. you can find champID in meta data of get_players.
|
113
|
+
rockerturnerStats = client.matches.player_stats(2769842762, 43)
|
114
|
+
|
115
|
+
#player_identities => returns the player identity from the participant ID which can be obtained from get_players or stats or player_stats.
|
116
|
+
#My participantId this game was 2.
|
117
|
+
rockerturnerIdentities = client.matches.player_identities(2769842762, 2)
|
118
|
+
```
|
119
|
+
|
120
|
+
#item
|
121
|
+
```rb
|
122
|
+
#get_icon => returns link for given item id.
|
123
|
+
ardentIcon = client.item.get_icon(3504)
|
124
|
+
|
125
|
+
#spells_icon(id)
|
126
|
+
flashIcon = client.item.spells_icon(4)
|
127
|
+
```
|
27
128
|
## Development
|
28
129
|
|
29
130
|
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
@@ -44,6 +44,123 @@ module RitoApi
|
|
44
44
|
end
|
45
45
|
return playerIdentity
|
46
46
|
end
|
47
|
+
|
48
|
+
def get_runes(matchId, championId, ttl = @ttl)
|
49
|
+
slots = {
|
50
|
+
8200 => {
|
51
|
+
:key => "Sorcery",
|
52
|
+
:icon => "perk-images/Styles/7202_Sorcery.png",
|
53
|
+
:runes => {
|
54
|
+
8210=>{:key=>"Transcendence", :icon=>"perk-images/Styles/Sorcery/Transcendence/Transcendence.png"},
|
55
|
+
8214=>{:key=>"SummonAery", :icon=>"perk-images/Styles/Sorcery/SummonAery/SummonAery.png"},
|
56
|
+
8224=>{:key=>"NullifyingOrb", :icon=>"perk-images/Styles/Sorcery/NullifyingOrb/Pokeshield.png"},
|
57
|
+
8226=>{:key=>"ManaflowBand", :icon=>"perk-images/Styles/Sorcery/ManaflowBand/ManaflowBand.png"},
|
58
|
+
8229=>{:key=>"ArcaneComet", :icon=>"perk-images/Styles/Sorcery/ArcaneComet/ArcaneComet.png"},
|
59
|
+
8230=>{:key=>"PhaseRush", :icon=>"perk-images/Styles/Sorcery/PhaseRush/PhaseRush.png"},
|
60
|
+
8232=>{:key=>"Waterwalking", :icon=>"perk-images/Styles/Sorcery/Waterwalking/Waterwalking.png"},
|
61
|
+
8233=>{:key=>"AbsoluteFocus", :icon=>"perk-images/Styles/Sorcery/AbsoluteFocus/AbsoluteFocus.png"},
|
62
|
+
8234=>{:key=>"Celerity", :icon=>"perk-images/Styles/Sorcery/Celerity/CelerityTemp.png"},
|
63
|
+
8236=>{:key=>"GatheringStorm", :icon=>"perk-images/Styles/Sorcery/GatheringStorm/GatheringStorm.png"},
|
64
|
+
8237=>{:key=>"Scorch", :icon=>"perk-images/Styles/Sorcery/Scorch/Scorch.png"},
|
65
|
+
8243=>{:key=>"TheUltimateHat", :icon=>"perk-images/Styles/Sorcery/TheUltimateHat/TheUltimateHat.png"},
|
66
|
+
}
|
67
|
+
|
68
|
+
},
|
69
|
+
|
70
|
+
8300 => {
|
71
|
+
:key => "Inspiration",
|
72
|
+
:icon => "perk-images/Styles/7203_Whimsy.png",
|
73
|
+
:runes => {
|
74
|
+
8304=>{:key=>"MagicalFootwear", :icon=>"perk-images/Styles/Inspiration/MagicalFootwear/MagicalFootwear.png"},
|
75
|
+
8306=>{:key=>"HextechFlashtraption", :icon=>"perk-images/Styles/Inspiration/HextechFlashtraption/HextechFlashtraption.png"},
|
76
|
+
8313=>{:key=>"PerfectTiming", :icon=>"perk-images/Styles/Inspiration/PerfectTiming/PerfectTiming.png"},
|
77
|
+
8316=>{:key=>"MinionDematerializer", :icon=>"perk-images/Styles/Inspiration/MinionDematerializer/MinionDematerializer.png"},
|
78
|
+
8321=>{:key=>"FuturesMarket", :icon=>"perk-images/Styles/Inspiration/FuturesMarket/FuturesMarket.png"},
|
79
|
+
8326=>{:key=>"UnsealedSpellbook", :icon=>"perk-images/Styles/Inspiration/UnsealedSpellbook/UnsealedSpellbook.png"},
|
80
|
+
8345=>{:key=>"BiscuitDelivery", :icon=>"perk-images/Styles/Inspiration/BiscuitDelivery/BiscuitDelivery.png"},
|
81
|
+
8347=>{:key=>"CosmicInsight", :icon=>"perk-images/Styles/Inspiration/CosmicInsight/CosmicInsight.png"},
|
82
|
+
8351=>{:key=>"GlacialAugment", :icon=>"perk-images/Styles/Inspiration/GlacialAugment/GlacialAugment.png"},
|
83
|
+
8352=>{:key=>"TimeWarpTonic", :icon=>"perk-images/Styles/Inspiration/TimeWarpTonic/TimeWarpTonic.png"},
|
84
|
+
8359=>{:key=>"Kleptomancy", :icon=>"perk-images/Styles/Inspiration/Kleptomancy/Kleptomancy.png"},
|
85
|
+
8410=>{:key=>"ApproachVelocity", :icon=>"perk-images/Styles/Resolve/ApproachVelocity/ApproachVelocity.png"},
|
86
|
+
}
|
87
|
+
},
|
88
|
+
|
89
|
+
8000 => {
|
90
|
+
:icon => "perk-images/Styles/7201_Precision.png",
|
91
|
+
:key => "Precision",
|
92
|
+
:runes => {
|
93
|
+
8005=>{:key=>"PressTheAttack", :icon=>"perk-images/Styles/Precision/PressTheAttack/PressTheAttack.png"},
|
94
|
+
8008=>{:key=>"LethalTempo", :icon=>"perk-images/Styles/Precision/FlowofBattle/FlowofBattleTemp.png"},
|
95
|
+
8009=>{:key=>"PresenceOfMind", :icon=>"perk-images/Styles/Precision/LastResort/LastResortIcon.png"},
|
96
|
+
8010=>{:key=>"Conqueror", :icon=>"perk-images/Styles/Precision/Conqueror/Conqueror.png"},
|
97
|
+
8014=>{:key=>"CoupDeGrace", :icon=>"perk-images/Styles/Precision/CoupDeGrace/CoupDeGrace.png"},
|
98
|
+
8017=>{:key=>"CutDown", :icon=>"perk-images/Styles/Precision/CutDown/CutDown.png"},
|
99
|
+
8021=>{:key=>"FleetFootwork", :icon=>"perk-images/Styles/Precision/FleetFootwork/FleetFootwork.png"},
|
100
|
+
9101=>{:key=>"Overheal", :icon=>"perk-images/Styles/Precision/Overheal.png"},
|
101
|
+
9103=>{:key=>"LegendBloodline", :icon=>"perk-images/Styles/Precision/Legend_Infamy.png"},
|
102
|
+
9104=>{:key=>"LegendAlacrity", :icon=>"perk-images/Styles/Precision/Legend_Heroism.png"},
|
103
|
+
9105=>{:key=>"LegendTenacity", :icon=>"perk-images/Styles/Precision/Legend_Tenacity.png"},
|
104
|
+
9111=>{:key=>"Triumph", :icon=>"perk-images/Styles/Precision/DangerousGame.png"},
|
105
|
+
8299=>{:key=>"LastStand", :icon=>"perk-images/Styles/Sorcery/LastStand/LastStand.png"}
|
106
|
+
}
|
107
|
+
},
|
108
|
+
|
109
|
+
8100 => {
|
110
|
+
:icon => "perk-images/Styles/7200_Domination.png",
|
111
|
+
:key => "Domination",
|
112
|
+
:runes => {
|
113
|
+
8105=>{:key=>"RelentlessHunter", :icon=>"perk-images/Styles/Domination/RelentlessHunter/RelentlessHunter.png"},
|
114
|
+
8112=>{:key=>"Electrocute", :icon=>"perk-images/Styles/Domination/Electrocute/Electrocute.png"},
|
115
|
+
8120=>{:key=>"GhostPoro", :icon=>"perk-images/Styles/Domination/GhostPoro/GhostPoro.png"},
|
116
|
+
8124=>{:key=>"Predator", :icon=>"perk-images/Styles/Domination/Predator/Predator.png"},
|
117
|
+
8126=>{:key=>"CheapShot", :icon=>"perk-images/Styles/Domination/CheapShot/CheapShot.png"},
|
118
|
+
8128=>{:key=>"DarkHarvest", :icon=>"perk-images/Styles/Domination/DarkHarvest/DarkHarvest.png"},
|
119
|
+
8134=>{:key=>"IngeniousHunter", :icon=>"perk-images/Styles/Domination/IngeniousHunter/IngeniousHunter.png"},
|
120
|
+
8135=>{:key=>"RavenousHunter", :icon=>"perk-images/Styles/Domination/RavenousHunter/RavenousHunter.png"},
|
121
|
+
8136=>{:key=>"ZombieWard", :icon=>"perk-images/Styles/Domination/ZombieWard/ZombieWard.png"},
|
122
|
+
8138=>{:key=>"EyeballCollection", :icon=>"perk-images/Styles/Domination/EyeballCollection/EyeballCollection.png"},
|
123
|
+
8139=>{:key=>"TasteOfBlood", :icon=>"perk-images/Styles/Domination/TasteOfBlood/GreenTerror_TasteOfBlood.png"},
|
124
|
+
8143=>{:key=>"SuddenImpact", :icon=>"perk-images/Styles/Domination/SuddenImpact/SuddenImpact.png"}
|
125
|
+
}
|
126
|
+
},
|
127
|
+
|
128
|
+
8400 => {
|
129
|
+
:icon => "perk-images/Styles/7204_Resolve.png",
|
130
|
+
:key => "Resolve",
|
131
|
+
:runes => {
|
132
|
+
8429=>{:key=>"Conditioning", :icon=>"perk-images/Styles/Resolve/Conditioning/Conditioning.png"},
|
133
|
+
8437=>{:key=>"GraspOfTheUndying", :icon=>"perk-images/Styles/Resolve/GraspOfTheUndying/GraspOfTheUndying.png"},
|
134
|
+
8439=>{:key=>"Aftershock", :icon=>"perk-images/Styles/Resolve/VeteranAftershock/VeteranAftershock.png"},
|
135
|
+
8444=>{:key=>"SecondWind", :icon=>"perk-images/Styles/Resolve/SecondWind/SecondWind.png"},
|
136
|
+
8446=>{:key=>"Demolish", :icon=>"perk-images/Styles/Resolve/Demolish/Demolish.png"},
|
137
|
+
8451=>{:key=>"Overgrowth", :icon=>"perk-images/Styles/Resolve/Overgrowth/Overgrowth.png"},
|
138
|
+
8453=>{:key=>"Revitalize", :icon=>"perk-images/Styles/Resolve/Revitalize/Revitalize.png"},
|
139
|
+
8463=>{:key=>"FontOfLife", :icon=>"perk-images/Styles/Resolve/FontOfLife/FontOfLife.png"},
|
140
|
+
8465=>{:key=>"Guardian", :icon=>"perk-images/Styles/Resolve/Guardian/Guardian.png"},
|
141
|
+
8472=>{:key=>"Chrysalis", :icon=>"perk-images/Styles/Resolve/Chrysalis/Chrysalis.png"},
|
142
|
+
8473=>{:key=>"BonePlating", :icon=>"perk-images/Styles/Resolve/BonePlating/BonePlating.png"},
|
143
|
+
8242 => {:key => 'Unflinching', :icon => 'perk-images/Styles/Sorcery/Unflinching/Unflinching.png'}
|
144
|
+
}
|
145
|
+
}
|
146
|
+
|
147
|
+
|
148
|
+
}
|
149
|
+
playerRunes = []
|
150
|
+
payCheck = player_stats(matchId, championId)
|
151
|
+
# puts slots[payCheck[:stats][:perkPrimaryStyle]]
|
152
|
+
# puts slots[payCheck[:stats][:perkPrimaryStyle]][:runes][payCheck[:stats][:perk0]][:icon]
|
153
|
+
# puts slots[payCheck[:stats][:perkSubStyle]][:icon]
|
154
|
+
playerRunes.push(runes_icon(slots[payCheck[:stats][:perkPrimaryStyle]][:runes][payCheck[:stats][:perk0]][:icon]))
|
155
|
+
playerRunes.push(runes_icon(slots[payCheck[:stats][:perkSubStyle]][:icon]))
|
156
|
+
return playerRunes
|
157
|
+
end
|
158
|
+
|
159
|
+
private
|
160
|
+
def runes_icon(pUrl)
|
161
|
+
return "http://ddragon.leagueoflegends.com/cdn/img/#{pUrl}"
|
162
|
+
end
|
163
|
+
|
47
164
|
end
|
48
165
|
|
49
166
|
end
|
data/lib/rito_api/version.rb
CHANGED