class Mailgems::Mail
Attributes
api_key[RW]
api_version[RW]
Public Class Methods
new(opts = {})
click to toggle source
# File lib/mailgems/mail.rb, line 13 def initialize(opts = {}) @api_key = opts[:api_key] @api_version = opts[:api_version] || 'v1' raise InvalidOption, "Api Key is required" if opts[:api_key].nil? end
Public Instance Methods
send_mail(params)
click to toggle source
# File lib/mailgems/mail.rb, line 20 def send_mail(params) response = self.class.post("/#{api_version}/emails", body: params.to_json, headers: headers) response_code = response.code response_hash = response.parsed_response raise_exception(response_code, response_hash) unless response_code == 200 response_hash end
Private Instance Methods
headers()
click to toggle source
# File lib/mailgems/mail.rb, line 34 def headers { 'Content-Type': 'application/json', 'X-Api-Key': api_key } end
raise_exception(code, hash)
click to toggle source
# File lib/mailgems/mail.rb, line 41 def raise_exception(code, hash) raise Mailgems::ApiError.new(code, hash['message']) end