class Mailgun::Base
Attributes
api_key[RW]
api_version[RW]
domain[RW]
host[RW]
protocol[RW]
response[RW]
test_mode[RW]
Public Class Methods
configure() { |self| ... }
click to toggle source
# File lib/mailgun_api.rb, line 89 def self.configure yield self end
fire(method, url, parameters={})
click to toggle source
# File lib/mailgun_api.rb, line 138 def self.fire(method, url, parameters={}) begin parameters = {:params => parameters} if method == :get return JSON(RestClient.send(method, url, parameters)) rescue => e error_message = nil if e.respond_to? :http_body begin error_message = JSON(e.http_body)["message"] rescue raise e end raise Mailgun::Error.new(error_message) end raise e end end
new(params={})
click to toggle source
# File lib/mailgun_api.rb, line 93 def initialize(params={}) raise ArgumentError.new(":api_key is a required argument to initialize Mailgun") if params.fetch(:api_key).nil? @host = params.fetch(:host) @protocol = params.fetch(:protocol) @api_version = params.fetch(:api_version) @test_mode = params.fetch(:test_mode) @api_key = params.fetch(:api_key) @domain = params.fetch(:domain, nil) end
Public Instance Methods
api_url()
click to toggle source
Returns the api url used in all Mailgun
API calls
# File lib/mailgun_api.rb, line 133 def api_url "#{protocol}://api:#{api_key}@#{host}/#{api_version}" end
create_list(list_name, options={})
click to toggle source
# File lib/mailgun_api.rb, line 122 def create_list(list_name, options={}) Mailgun::List.new(self).create("#{list_name}@#{domain}", options) end
create_message(params)
click to toggle source
# File lib/mailgun_api.rb, line 127 def create_message(params) Mailgun::Message.new(params) end
domains()
click to toggle source
# File lib/mailgun_api.rb, line 114 def domains Mailgun::Domain.new(self).list end
find_domain(domain_name)
click to toggle source
# File lib/mailgun_api.rb, line 118 def find_domain(domain_name) Mailgun::Domain.new(self).list(domain_name) end
find_list(list_name)
click to toggle source
# File lib/mailgun_api.rb, line 104 def find_list(list_name) list = Mailgun::List.new(self) list.find("#{list_name}@#{domain}") list end
lists()
click to toggle source
# File lib/mailgun_api.rb, line 110 def lists Mailgun::List.new(self).list end