skyhook 0.6.0 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/skyhook/core.rb +29 -8
- data/lib/skyhook/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: c404f0c0a2e5e2ba79db05a083baa57b9c73f773
|
4
|
+
data.tar.gz: 582fac5c2b248bc56f0309a9cd67090f64e38365
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cb18d98f66d66aebf9dc285e5bb9e598c8b56a03aee971d6af91dd8216eb9ed72de3cd902f79dcba084fd062599bb7bd7fa6b8cc18cf8ea6040522c4a1d1b295
|
7
|
+
data.tar.gz: 8bce1265c158bf718d5075ccb3636ad661fc5e8bcce8618261b3c58e2c6b019c7610ebd8c745325946c2e370031d95a27409cc5cf7a9fef8beb0f22ceab9a2be
|
data/lib/skyhook/core.rb
CHANGED
@@ -2,13 +2,40 @@ module Skyhook
|
|
2
2
|
class Core < Skyhook::Configuration
|
3
3
|
|
4
4
|
def self.api_reference
|
5
|
-
request '/ISteamWebAPIUtil/GetSupportedAPIList/
|
5
|
+
request '/ISteamWebAPIUtil/GetSupportedAPIList/v1/'
|
6
|
+
end
|
7
|
+
|
8
|
+
def self.get_method(method_name)
|
9
|
+
api_reference['apilist']['interfaces'].each do |interface|
|
10
|
+
|
11
|
+
if meth = interface['methods'].find { |method|method['name'] == method_name }
|
12
|
+
meth['interface'] = interface['name']
|
13
|
+
return meth
|
14
|
+
else
|
15
|
+
nil
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.method_missing(m, params = {})
|
21
|
+
if method = get_method( m.to_s.camelize )
|
22
|
+
url = "/#{ method['interface'] }/#{ method['name'] }/v#{ method['version'] }/"
|
23
|
+
|
24
|
+
self.class.class_eval do
|
25
|
+
define_method m do |params|
|
26
|
+
request( "#{url}", params )
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
send(m, params)
|
31
|
+
else
|
32
|
+
super
|
33
|
+
end
|
6
34
|
end
|
7
35
|
|
8
36
|
protected
|
9
37
|
|
10
38
|
def self.request( uri, params = {} )
|
11
|
-
# uri << "&key=#{ self.api_key }" if self.api_key
|
12
39
|
conn = Faraday.new(:url => 'http://api.steampowered.com') do |faraday|
|
13
40
|
faraday.request :url_encoded # form-encode POST params
|
14
41
|
faraday.response :logger # log requests to STDOUT
|
@@ -29,12 +56,6 @@ module Skyhook
|
|
29
56
|
end
|
30
57
|
|
31
58
|
JSON.parse response.body
|
32
|
-
|
33
|
-
end
|
34
|
-
|
35
|
-
def service_request( uri, options = {} )
|
36
|
-
raise( ArgumentError, 'No JSON options were supplied' ) if options.empty?
|
37
|
-
request "#{ uri }?key=#{ self.api_key }}&format=#{ self.format }&input_json=#{ options[:json]} "
|
38
59
|
end
|
39
60
|
end
|
40
61
|
end
|
data/lib/skyhook/version.rb
CHANGED