From 280834f8fb245cd7b768bd839e5553fb22bce5a7 Mon Sep 17 00:00:00 2001 From: paulcc Date: Wed, 26 Aug 2009 06:08:18 +0100 Subject: [PATCH] recode precision test to allow slight rounding errors --- lib/spree/paypal_express.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/spree/paypal_express.rb b/lib/spree/paypal_express.rb index dd17e43..ed4043e 100644 --- a/lib/spree/paypal_express.rb +++ b/lib/spree/paypal_express.rb @@ -93,8 +93,8 @@ module Spree::PaypalExpress # paypal expects this sum to work out (TODO: shift to AM code? and throw wobbly?) # there might be rounding issues when it comes to tax, though you can capture slightly extra opts[:money] = opts.slice(:subtotal, :tax, :shipping, :handling).values.sum - if opts[:money] != spree_total - raise "Ouch - precision problems: #{opts[:money]} vs #{spree_total}" + if (opts[:money].to_f - spree_total.to_f).abs > 0.01 + raise "Ouch - precision problems: #{opts[:money].to_f} vs #{spree_total.to_f}, diff #{opts[:money].to_f - spree_total.to_f}" end # prepare the numbers for the gateway