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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e90870667ebbb7926c509e58e2b8c2d55591cdea
4
- data.tar.gz: 1cdc29acb20e119fc14f087698fd0dd15d1bbf64
3
+ metadata.gz: c404f0c0a2e5e2ba79db05a083baa57b9c73f773
4
+ data.tar.gz: 582fac5c2b248bc56f0309a9cd67090f64e38365
5
5
  SHA512:
6
- metadata.gz: be6d2af60673d9495f523c8c42e46d753c84c261f0b3560a54ee1b38ae03bdec8df65ab497bf1fc14093d10cd9eaecc04593190fcde9c6a3b61ef845db98b84d
7
- data.tar.gz: a0bd60914b25d4ca0ce1f201e28e6c137528fbc1931800ddb4bef11a2e058e36058af9f18f72ac66d03250f6a23ac5724044a0a4c3a51ae6e1764b0ac3aca13b
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/v0001/'
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
@@ -1,3 +1,3 @@
1
1
  module Skyhook
2
- VERSION = '0.6.0'
2
+ VERSION = '0.7.0'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: skyhook
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - ClikeX