Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Adicionadas mensagens de erro que fazem um pouco mais de sentido

  • Loading branch information...
commit 60bb155764347464943a47cff55dce888696c51b 1 parent 30d9d50
@cfcosta cfcosta authored
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
Please sign in to comment.
Something went wrong with that request. Please try again.