Module: Quickmail
- Defined in:
- lib/quickmail.rb,
lib/quickmail/order.rb,
lib/quickmail/version.rb,
lib/quickmail/tracking.rb,
lib/quickmail/inventory.rb,
lib/quickmail/authentication.rb
Defined Under Namespace
Classes: ApiRequestError, Authentication, AuthenticationError, ConfigurationError, Inventory, Order, QuickmailError, Tracking
Constant Summary
collapse
- VERSION =
"0.22.0"
Class Attribute Summary collapse
Class Method Summary
collapse
Class Attribute Details
.access_token ⇒ Object
33
34
35
36
37
|
# 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 ⇒ Object
49
50
51
|
# File 'lib/quickmail.rb', line 49
def api_base
Quickmail.test_mode ? "https://getquickmail.com/api/test/" : "https://getquickmail.com/api/"
end
|
.api_version ⇒ Object
39
40
41
42
43
|
# File 'lib/quickmail.rb', line 39
def api_version
defined? @api_version and @api_version or raise(
ConfigurationError, "Quickmail api version not configured"
)
end
|
.test_mode ⇒ Object
45
46
47
|
# File 'lib/quickmail.rb', line 45
def test_mode
@test_mode.nil? ? false : @test_mode
end
|
Class Method Details
83
84
85
|
# File 'lib/quickmail.rb', line 83
def datetime_format(datetime)
datetime.strftime("%Y-%m-%d %T")
end
|
.request(method, resource, params = {}, access_token = nil) ⇒ Object
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
# 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
= {accept: :json, content_type: :json, Authorization: "Bearer #{ss_access_token}"}
else
url = Quickmail.api_base + ss_api_version + '/' + resource
payload = params
= {accept: :json, content_type: :json, Authorization: "Bearer #{ss_access_token}"}
end
RestClient::Request.new({
method: method,
url: url,
payload: payload.to_json,
headers:
}).execute do |response, request, result|
str_response = response.to_str
str_response.blank? ? '' : JSON.parse(str_response)
end
end
|