Module: Quickmail
- Defined in:
- lib/quickmail.rb,
lib/quickmail/order.rb,
lib/quickmail/version.rb,
lib/quickmail/tracking.rb,
lib/quickmail/authentication.rb
Defined Under Namespace
Classes: ApiRequestError, Authentication, AuthenticationError, ConfigurationError, Order, QuickmailError, Tracking
Constant Summary collapse
- API_BASE =
Quickmail.test_mode ? "https://quickmailonline.com.au/api/test" : "https://quickmailonline.com.au/api/"
- VERSION =
"0.4.0"
Class Attribute Summary collapse
Class Method Summary collapse
Class Attribute Details
.access_token ⇒ Object
31 32 33 34 35 |
# File 'lib/quickmail.rb', line 31 def access_token defined? @access_token and @access_token or raise( ConfigurationError, "Quickmail access token not configured" ) end |
.api_version ⇒ Object
37 38 39 40 41 |
# File 'lib/quickmail.rb', line 37 def api_version defined? @api_version and @api_version or raise( ConfigurationError, "Quickmail api version not configured" ) end |
.test_mode ⇒ Object
43 44 45 |
# File 'lib/quickmail.rb', line 43 def test_mode @test_mode end |
Class Method Details
.datetime_format(datetime) ⇒ Object
84 85 86 |
# File 'lib/quickmail.rb', line 84 def datetime_format(datetime) datetime.strftime("%Y-%m-%d %T") end |
.request(method, resource, params = {}) ⇒ Object
49 50 51 52 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 82 |
# File 'lib/quickmail.rb', line 49 def request(method, resource, params = {}) ss_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 headers = {accept: :json, content_type: :json, access_token: ss_access_token}.merge({params: params}) payload = nil else headers = {accept: :json, content_type: :json, access_token: ss_access_token} payload = params end RestClient::Request.new({ method: method, url: API_BASE + ss_api_version + '/' + resource, payload: payload ? payload.to_json : nil, headers: headers }).execute do |response, request, result| if response.code != 200 raise ApiRequestError.new( response_code: response.code, response_headers: response.headers, response_body: response.to_str ) end str_response = response.to_str str_response.blank? ? '' : JSON.parse(str_response) end end |