skyhook 0.6.0 → 0.7.0

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: 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