class AnyMailFinder::Base

Constants

API_HOST

Public Instance Methods

get(url, options = {}) click to toggle source
# File lib/any_mail_finder/base.rb, line 7
def get(url, options = {})
  request("get", url, options)
end
post(url, options = {}) click to toggle source
# File lib/any_mail_finder/base.rb, line 11
def post(url, options = {})
  request("post", url, options)
end

Private Instance Methods

data_key(request_type) click to toggle source
# File lib/any_mail_finder/base.rb, line 34
def data_key(request_type)
  request_type == "post" ? "body" : "query"
end
request(request_type, url, options) click to toggle source
# File lib/any_mail_finder/base.rb, line 17
def request(request_type, url, options)
  response = HTTParty.public_send(
    request_type,
    url,
    headers: AnyMailFinder.configuration.headers,
    data_key(request_type).to_sym => options,
  )
  data = JSON.parse response.body, symbolize_names: true
  return RecursiveOpenStruct.new(data)
  rescue Errno::ECONNREFUSED => e
    raise AnyMailFinder::Error, e.message
  rescue HTTParty::Error => e
    raise AnyMailFinder::Error, e.message
  rescue => e
    raise AnyMailFinder::Error, e.message
end