dota_api_wrapper 0.2.1 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 02d94ff52033a6ff17d4e6276b55491887500169
4
- data.tar.gz: 99da27c075dc06202fb2b933cc2363b0acdfce7d
3
+ metadata.gz: fecc47c82194f8463fc05272fb7a313ccb866ae9
4
+ data.tar.gz: e81fb8f619ac86e0614114f014aad024303c55e0
5
5
  SHA512:
6
- metadata.gz: 4d57329a4747f2e45769b241da7702cebb9c1ecf543ccaa66b7a059797e9de15330f314408eeb68211d97ab8cd0ba94928a01ad061e2fb332f6ee3d751900dac
7
- data.tar.gz: feb9a962d6de6d50cfc58a36ad206a5db1d6ded6481e49b3254227da09b07555ea1d8b57e4656396318828cdc041afe85c5499d91c4431e0a9fdc8d290dfdf4f
6
+ metadata.gz: 014817570948143b31089182cc33ca9aa15bbdbd22f5c5a9c06a61be4cd48e85bc87d45dc9fb5153e171a74cf331f6689d0f751b8a14e8cb2100d8608fc0f296
7
+ data.tar.gz: 04f522074fd4ccd9a3375e38ff2a410930c29e23016388f8396e9891e3c46a8655c33497421c63db1e8c6129c79e372bce0747aa4eadc9dad1fdabf33a2b36d2
data/README.md CHANGED
@@ -2,6 +2,7 @@
2
2
  [![Build Status](https://travis-ci.org/epergo/dota_api_wrapper.svg?branch=master)](https://travis-ci.org/epergo/dota_api_wrapper)
3
3
  [![Code Climate](https://codeclimate.com/github/epergo/dota_api_wrapper/badges/gpa.svg)](https://codeclimate.com/github/epergo/dota_api_wrapper)
4
4
  [![Test Coverage](https://codeclimate.com/github/epergo/dota_api_wrapper/badges/coverage.svg)](https://codeclimate.com/github/epergo/dota_api_wrapper/coverage)
5
+ [![Gem Version](https://badge.fury.io/rb/dota_api_wrapper.svg)](https://badge.fury.io/rb/dota_api_wrapper)
5
6
 
6
7
 
7
8
  ## Installation
@@ -32,15 +33,15 @@ This gem will read your key from an environment variable, so once you have it yo
32
33
 
33
34
  ### Heroes
34
35
 
35
- `heroes = DotaApiWrapper::Hero.new`
36
+ `heroes = DotaApiWrapper::Resource.retrieve_heroes`
36
37
 
37
- `heroes.find_by_id(25) => {"name"=>"npc_dota_hero_lina", "id"=>25, "localized_name"=>"Lina"}`
38
+ `heroes[56] => {"name"=>"npc_dota_hero_clinkz", "id"=>56, "localized_name"=>"Clinkz"}`
38
39
 
39
40
  ### Items
40
41
 
41
- `items = DotaApiWrapper::Item.new`
42
+ `items = DotaApiWrapper::Resource.retrieve_items
42
43
 
43
- `items.find_by_id(25) => {"id"=>25, "name"=>"item_gloves", "cost"=>500, "secret_shop"=>0, "side_shop"=>1, "recipe"=>0, "localized_name"=>"Gloves of Haste"}`
44
+ `items[25] => {"id"=>25, "name"=>"item_gloves", "cost"=>500, "secret_shop"=>0, "side_shop"=>1, "recipe"=>0, "localized_name"=>"Gloves of Haste"}`
44
45
 
45
46
  ### Steam User's Summary
46
47
 
@@ -0,0 +1,35 @@
1
+ require_relative 'base'
2
+
3
+ module DotaApiWrapper
4
+ class Resource < Base
5
+ base_uri(BASE_URI + '/IEconDOTA2_570')
6
+
7
+ class << self
8
+ def retrieve_heroes(language = 'en_us')
9
+ retrieve_resource('heroes', language)
10
+ end
11
+
12
+ def retrieve_items(language = 'en_us')
13
+ retrieve_resource('items', language)
14
+ end
15
+
16
+ private
17
+
18
+ def retrieve_resource(resource, language = 'en_us')
19
+ return { error: 'specify a resource: "heroes" "items"' } unless resource
20
+
21
+ query_params = { 'key' => self::API_KEY, 'language' => language }
22
+ action = resource == 'items' ? '/GetGameItems/v0001' : '/GetHeroes/v0001'
23
+
24
+ api_result = get(action, query: query_params, headers: {})
25
+
26
+ return if api_result.empty?
27
+
28
+ res = {}
29
+ api_result['result'][resource].each { |i| res[i['id']] = i }
30
+
31
+ res
32
+ end
33
+ end
34
+ end
35
+ end
@@ -1,3 +1,3 @@
1
1
  module DotaApiWrapper
2
- VERSION = "0.2.1"
2
+ VERSION = '0.2.2'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dota_api_wrapper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eloy
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-03-25 00:00:00.000000000 Z
11
+ date: 2016-04-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
@@ -141,11 +141,9 @@ files:
141
141
  - dota_api_wrapper.gemspec
142
142
  - lib/dota_api_wrapper.rb
143
143
  - lib/dota_api_wrapper/base.rb
144
- - lib/dota_api_wrapper/econ.rb
145
- - lib/dota_api_wrapper/hero.rb
146
- - lib/dota_api_wrapper/item.rb
147
144
  - lib/dota_api_wrapper/match.rb
148
145
  - lib/dota_api_wrapper/player.rb
146
+ - lib/dota_api_wrapper/resource.rb
149
147
  - lib/dota_api_wrapper/version.rb
150
148
  homepage: ''
151
149
  licenses: []
@@ -1,13 +0,0 @@
1
- require_relative 'base'
2
-
3
- module DotaApiWrapper
4
- class Econ < Base
5
- base_uri(BASE_URI + '/IEconDOTA2_570')
6
-
7
- attr_accessor :language
8
-
9
- def initialize(lang = 'en_us')
10
- @language = lang
11
- end
12
- end
13
- end
@@ -1,28 +0,0 @@
1
- require_relative 'econ'
2
-
3
- module DotaApiWrapper
4
- class Hero < Econ
5
- attr_accessor :heroes
6
-
7
- def initialize(lang = 'en_us')
8
- super(lang)
9
- @heroes = retrieve_heroes
10
- end
11
-
12
- def retrieve_heroes
13
- query_params = { 'key' => API_KEY, 'language' => language }
14
- api_result = get('/GetHeroes/v0001', query: query_params, headers: {})
15
-
16
- return if api_result.empty?
17
-
18
- res = {}
19
- api_result['result']['heroes'].each { |a| res[a['id']] = a }
20
-
21
- res
22
- end
23
-
24
- def find_by_id(id)
25
- heroes[id]
26
- end
27
- end
28
- end
@@ -1,28 +0,0 @@
1
- require_relative 'econ'
2
-
3
- module DotaApiWrapper
4
- class Item < Econ
5
- attr_accessor :items
6
-
7
- def initialize(lang = 'en_us')
8
- super(lang)
9
- @items = retrieve_items
10
- end
11
-
12
- def retrieve_items
13
- query_params = { 'key' => API_KEY, 'language' => language }
14
- api_result = get('/GetGameItems/v0001', query: query_params, headers: {})
15
-
16
- return if api_result.empty?
17
-
18
- res = {}
19
- api_result['result']['items'].each { |i| res[i['id']] = i }
20
-
21
- res
22
- end
23
-
24
- def find_by_id(id)
25
- items[id]
26
- end
27
- end
28
- end