class DogeApi::DogeApi

Attributes

api_key[RW]

Public Class Methods

new(api_key, version=1) click to toggle source
# File lib/doge/api.rb, line 8
def initialize(api_key, version=1)
  @api_key = api_key
  @api_version = version
  @base_uri = URI.parse(_get_dogeapi_endpoint)
end

Public Instance Methods

build_uri(m, args) click to toggle source
# File lib/doge/api.rb, line 14
def build_uri(m, args)
  uri = @base_uri
  params = args.merge(:a => m, :api_key => @api_key)
  uri.query = URI.encode_www_form(params)
  uri
end
fetch_uri(uri) click to toggle source
# File lib/doge/api.rb, line 21
def fetch_uri(uri)
  uri.open.read
end
method_missing(m, args = {}, &block) click to toggle source
# File lib/doge/api.rb, line 25
def method_missing(m, args = {}, &block)
  fetch_uri build_uri(m, args)
end

Private Instance Methods

_get_dogeapi_endpoint() click to toggle source
# File lib/doge/api.rb, line 31
def _get_dogeapi_endpoint()
  base_uri = 'https://www.dogeapi.com/wow'
  base_uri += '/v2' if @api_version == 2
  return base_uri
end