module Quickmail

Constants

VERSION

Attributes

access_token[W]
api_base[W]
api_version[W]
test_mode[W]

Public Class Methods

access_token() click to toggle source
# File lib/quickmail.rb, line 33
def access_token
  defined? @access_token and @access_token or raise(
    ConfigurationError, "Quickmail access token not configured"
  )
end
api_base() click to toggle source
# File lib/quickmail.rb, line 49
def api_base
  Quickmail.test_mode ? "https://getquickmail.com/api/test/" : "https://getquickmail.com/api/"
end
api_version() click to toggle source
# File lib/quickmail.rb, line 39
def api_version
  defined? @api_version and @api_version or raise(
    ConfigurationError, "Quickmail api version not configured"
  )
end
datetime_format(datetime) click to toggle source
# File lib/quickmail.rb, line 83
def datetime_format(datetime)
  datetime.strftime("%Y-%m-%d %T")
end
request(method, resource, params = {}, access_token = nil) click to toggle source
# File lib/quickmail.rb, line 53
def request(method, resource, params = {}, access_token = nil)
  ss_access_token = access_token || Quickmail.access_token
  ss_api_version = Quickmail.api_version

  defined? method or raise(
    ArgumentError, "Request method has not been specified"
  )
  defined? resource or raise(
    ArgumentError, "Request resource has not been specified"
  )
  if method == :get
    url = Quickmail.api_base + ss_api_version + '/' + resource + '?' + params
    payload = nil
    headers = {accept: :json, content_type: :json, Authorization: "Bearer #{ss_access_token}"}
  else
    url = Quickmail.api_base + ss_api_version + '/' + resource
    payload = params
    headers = {accept: :json, content_type: :json, Authorization: "Bearer #{ss_access_token}"}
  end
  RestClient::Request.new({
                            method: method,
                            url: url,
                            payload: payload.to_json,
                            headers: headers
                          }).execute do |response, request, result|
      str_response = response.to_str
      str_response.blank? ? '' : JSON.parse(str_response)
  end
end
test_mode() click to toggle source
# File lib/quickmail.rb, line 45
def test_mode
  @test_mode.nil? ? false : @test_mode
end