Browse files

Adicionadas mensagens de erro que fazem um pouco mais de sentido

  • Loading branch information...
1 parent 30d9d50 commit 60bb155764347464943a47cff55dce888696c51b @cfcosta cfcosta committed Dec 10, 2010
Showing with 15 additions and 9 deletions.
  1. +6 −3 lib/moip/client.rb
  2. +5 −2 lib/moip/direct_payment.rb
  3. +4 −4 spec/moip_spec.rb
View
9 lib/moip/client.rb
@@ -2,6 +2,9 @@
require 'httparty'
module MoIP
+ class WebServerResponseError < StandardError ; end
+ class MissingTokenError < StandardError ; end
+
class Client
include HTTParty
@@ -26,7 +29,7 @@ def query(token)
# Retorna a URL de acesso ao MoIP
def moip_page(token)
- raise(StandardError, "É necessário informar um token para retornar os dados da transação") if token.nil?
+ raise(MissingTokenError, "É necessário informar um token para retornar os dados da transação") if token.nil?
"#{MoIP.uri}/Instrucao.do?token=#{token}"
end
@@ -46,12 +49,12 @@ def notification(params)
def peform_action!(action_name, url, options = {})
response = self.send(action_name, url, options)
- raise(StandardError, "Ocorreu um erro ao chamar o webservice") if response.nil?
+ raise(WebServerResponseError, "Ocorreu um erro ao chamar o webservice") if response.nil?
response
end
def get_response!(data)
- raise(StandardError, data["Erro"]) if data["Status"] == "Falha"
+ raise(WebServerResponseError, data["Erro"]) if data["Status"] == "Falha"
data
end
end
View
7 lib/moip/direct_payment.rb
@@ -3,14 +3,17 @@
module MoIP
+ class MissingPaymentTypeError < StandardError ; end
+ class MissingPayerError < StandardError ; end
+
class DirectPayment
class << self
# Cria uma instrução de pagamento direto
def body(attributes = {})
- raise(StandardError, "É necessário informar a razão do pagamento") if attributes[:razao].nil?
- raise(StandardError, "É obrigatório passar as informações do pagador") if attributes[:pagador].nil?
+ raise(MissinPaymentTypeError, "É necessário informar a razão do pagamento") if attributes[:razao].nil?
+ raise(MissingPayerError, "É obrigatório passar as informações do pagador") if attributes[:pagador].nil?
builder = Nokogiri::XML::Builder.new(:encoding => "UTF-8") do |xml|
View
8 spec/moip_spec.rb
@@ -71,7 +71,7 @@
error = "É necessário informar a razão do pagamento"
lambda { MoIP::Client.checkout(@billet_without_razao) }.should
- raise_error(StandardError,error)
+ raise_error(MoIP::MissingPaymentTypeError,error)
end
it "should have status 'Sucesso'" do
@@ -103,7 +103,7 @@
})
error = "Pagamento direto não é possível com a instituição de pagamento enviada"
lambda { MoIP::Client.checkout(@incorrect_debit) }.should
- raise_error(StandardError, error)
+ raise_error(MoIP::WebServerResponseError, error)
end
it "should raise an exception if payer informations were not passed" do
@@ -114,7 +114,7 @@
}
lambda { MoIP::Client.checkout(@incorrect_debit) }.should
- raise_error(StandardError, "É obrigatório passar as informações do pagador")
+ raise_error(MoIP::MissingPayerError, "É obrigatório passar as informações do pagador")
end
end
@@ -143,7 +143,7 @@
error = "Pagamento direto não é possível com a instituição de pagamento enviada"
lambda { MoIP::Client.checkout(@incorrect_credit) }.should
- raise_error(StandardError, error)
+ raise_error(MoIP::WebServerResponseError, error)
end
end

0 comments on commit 60bb155

Please sign in to comment.