class Mailinator::Api
Public Instance Methods
get(url, params = {})
click to toggle source
# File lib/mailinator/api.rb, line 10 def get(url, params = {}) response = request(url, params) handle_response(response) end
token()
click to toggle source
# File lib/mailinator/api.rb, line 15 def token Mailinator.config.token end
Private Instance Methods
base_url()
click to toggle source
# File lib/mailinator/api.rb, line 41 def base_url 'https://api.mailinator.com/api' end
generate_params(params)
click to toggle source
# File lib/mailinator/api.rb, line 37 def generate_params(params) URI.encode_www_form(params.merge({token: token})) end
generate_url(url)
click to toggle source
# File lib/mailinator/api.rb, line 33 def generate_url(url) URI("#{base_url}/#{url}") end
handle_response(response)
click to toggle source
# File lib/mailinator/api.rb, line 45 def handle_response(response) case response.code.to_i when 200 JSON.parse(response.body) when 404 fail NotFound else fail RequestError, {status: response.message, code: response.code} end end
perform_request(uri)
click to toggle source
# File lib/mailinator/api.rb, line 27 def perform_request(uri) http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = (uri.scheme == 'https') http.get(uri.request_uri) end
request(url, params)
click to toggle source
# File lib/mailinator/api.rb, line 21 def request(url, params) uri = generate_url(url) uri.query = generate_params(params) perform_request(uri) end