Class: EOAT::ZKApi
- Inherits:
-
Object
- Object
- EOAT::ZKApi
- Defined in:
- lib/eoat/zk_api.rb
Overview
ZKApi class - call class. Collects user input, building a url request and passes it to the Request class. solo_kills = EOAT::ZKApi.new('solo').kills(:limit => 10) solo_kills.kills.entries.first.killID #=> "32966816"
Instance Method Summary collapse
-
#create_uri(fake_method, **kwargs) ⇒ String
Collect all request parameters and combine it to query string.
-
#initialize(*args, host: 'http://zkillboard.com') ⇒ ZKApi
constructor
A new instance of ZKApi.
-
#method_missing(method, cache: true, **kwargs) ⇒ Object
Create an request according to the method called.
Constructor Details
#initialize(*args, host: 'http://zkillboard.com') ⇒ ZKApi
Returns a new instance of ZKApi.
12 13 14 15 |
# File 'lib/eoat/zk_api.rb', line 12 def initialize(*args, host: 'http://zkillboard.com') @host = host @uri_part = args.empty? ? '' : '/'.concat(args.join('/')) end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method, cache: true, **kwargs) ⇒ Object
Create an request according to the method called. This is used to dynamically create api calls.
19 20 21 22 |
# File 'lib/eoat/zk_api.rb', line 19 def method_missing(method, cache: true, **kwargs) uri = create_uri(method.id2name, kwargs) EOAT::Request.new(@host, uri, EOAT::Result::EveType::Result).get(cache) end |
Instance Method Details
#create_uri(fake_method, **kwargs) ⇒ String
Collect all request parameters and combine it to query string.
28 29 30 31 |
# File 'lib/eoat/zk_api.rb', line 28 def create_uri(fake_method, **kwargs) @uri_part += kwargs ? kwargs.map {|k, v| "/#{k}/#{v}"}.join : '' "api/#{fake_method}#{@uri_part}/xml" end |