Sha256: 66af5d99a915d013fcf7a3e85f65bf5183c1fad733a0e917f8a4511fe8c0a16e
Contents?: true
Size: 1.04 KB
Versions: 1
Compression:
Stored size: 1.04 KB
Contents
module EVEApi class Client attr_accessor :connection attr_accessor :key_id attr_accessor :vcode attr_accessor :character_id attr_accessor :row_count def initialize(key_id=nil, vcode=nil, character_id=nil) @connection ||= Excon.new(API_ENDPOINT) @key_id = key_id @character_id = character_id @vcode = vcode end def check_path(name) parts = name.to_s.split('_') return '' if parts.count < 2 "/#{parts[0]}/#{parts[1..-1].join('_').camelize}.xml.aspx" end def params { 'rowCount' => row_count, 'keyID' => key_id, 'vCode' => vcode, 'characterID' => character_id }.select { |k,v| v } end def api_methods api_call_list[:methods].map { |m| m['type'][0..3].downcase + '_' + m['name'].underscore } end def method_missing(name, *args, &block) raise 'Invalid Method Name' if check_path(name).empty? check_path(name) request = EVEApi::Request.new @connection.get(path: check_path(name), query: params) request.result end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
eveapi-0.0.1.pre | lib/eveapi/client.rb |