def method_missing(sym, *args, &block)
      options   = args.extract_options!.merge(:client_id => api_key)
      response  = conn.get("/#{sym.to_s}.json") { |req| req.params = options }
      args.nil? ? response.body.send(sym) : response.body
    end
def method_missing(sym, *args, &block)
      options   = args.extract_options!.merge(:client_id => api_key)
      response  = conn.get("/#{sym.to_s}.json") { |req| req.params = options }
      args.nil? ? response.body.send(sym) : response.body
    end
method_missing

 @param: Symbol[representation of the method name being called]
 @param: Hash[any parameter that is an option to be sent to the API]
 @param: Block[optional and not currently being used]

 We use this method to dynamically call the API to minimize code re writing. This method expects
 that you will be suitable to receive JSON only. Optionally could add support for other formats later