diff --git a/lib/mailgun/base.rb b/lib/mailgun/base.rb index fcc123c..afcedd1 100644 --- a/lib/mailgun/base.rb +++ b/lib/mailgun/base.rb @@ -30,23 +30,24 @@ def base_url def mailboxes @mailboxes ||= Mailgun::Mailbox.new(self) end - - # Submits the API call to the Mailgun server - def self.submit(method, url, parameters={}) - begin - return JSON(RestClient.send(method, url, parameters)) - rescue => e - error_message = nil - if e.http_body - begin - error_message = JSON(e.http_body)["message"] - rescue - raise e - end - raise Mailgun::Error.new(error_message) + end + + + # Submits the API call to the Mailgun server + def self.submit(method, url, parameters={}) + begin + return JSON(RestClient.send(method, url, parameters)) + rescue => e + error_message = nil + if e.http_body + begin + error_message = JSON(e.http_body)["message"] + rescue + raise e end - raise e + raise Mailgun::Error.new(error_message) end + raise e end end end diff --git a/lib/mailgun/mailbox.rb b/lib/mailgun/mailbox.rb index cb541de..7b4337d 100644 --- a/lib/mailgun/mailbox.rb +++ b/lib/mailgun/mailbox.rb @@ -9,7 +9,7 @@ def initialize(mailgun) # List all mailboxes for a given domain # * domain the domain for which all mailboxes will listed def list(domain) - response = Mailgun::Base.submit :get, mailbox_url(domain) + response = Mailgun.submit :get, mailbox_url(domain) if response response["items"].collect {|item| item["mailbox"]} @@ -19,7 +19,7 @@ def list(domain) # Creates a mailbox on the Mailgun server with the given password def create(address, password) - Mailgun::Base.submit :post, mailbox_url(address.split("@").last), :mailbox => address, + Mailgun.submit :post, mailbox_url(address.split("@").last), :mailbox => address, :password => password end @@ -28,7 +28,7 @@ def create(address, password) def update_password(address, password) mailbox_name, domain = address.split("@") - Mailgun::Base.submit :put, mailbox_url(domain, mailbox_name), :password => password + Mailgun.submit :put, mailbox_url(domain, mailbox_name), :password => password end @@ -36,7 +36,7 @@ def update_password(address, password) def destroy(address) mailbox_name, domain = address.split("@") - Mailgun::Base.submit :delete, mailbox_url(domain, mailbox_name) + Mailgun.submit :delete, mailbox_url(domain, mailbox_name) end