Change summary
config.ru | 26 +++-----------------------
lib/customer.rb | 32 ++++++++++++++++++++++++++++++++
2 files changed, 35 insertions(+), 23 deletions(-)
Detailed changes
@@ -16,6 +16,7 @@ if ENV["RACK_ENV"] == "development"
end
require_relative "lib/auto_top_up_repo"
+require_relative "lib/customer"
require_relative "lib/three_d_secure_repo"
require_relative "lib/electrum"
@@ -70,25 +71,14 @@ class CreditCardGateway
end
def customer_id
- customer_id = REDIS.get(redis_key_jid)
+ customer_id = Customer.new(nil, @jid).customer_id
return customer_id if check_customer_id(customer_id)
result = @gateway.customer.create
raise "Braintree customer create failed" unless result.success?
@customer_id = result.customer.id
- save_customer_id!
- end
-
- def save_customer_id!
- unless REDIS.set(redis_key_jid, @customer_id) == "OK"
- raise "Saving new jid,customer to redis failed"
- end
-
- unless REDIS.set(redis_key_customer_id, @jid) == "OK"
- raise "Saving new customer,jid to redis failed"
- end
-
+ Customer.new(@customer_id, @jid).save!
@customer_id
end
@@ -157,16 +147,6 @@ class CreditCardGateway
def remove_method(token)
@gateway.payment_method.delete(token)
end
-
-protected
-
- def redis_key_jid
- "jmp_customer_id-#{@jid}"
- end
-
- def redis_key_customer_id
- "jmp_customer_jid-#{@customer_id}"
- end
end
class UnknownTransactions
@@ -0,0 +1,32 @@
+# frozen_string_literal: true
+
+class Customer
+ def initialize(customer_id, jid)
+ @customer_id = customer_id
+ @jid = jid
+ end
+
+ def customer_id
+ @customer_id = REDIS.get(redis_key_jid)
+ end
+
+ def save!
+ unless REDIS.set(redis_key_jid, @customer_id) == "OK"
+ raise "Saving new jid,customer to redis failed"
+ end
+
+ return if REDIS.set(redis_key_customer_id, @jid) == "OK"
+
+ raise "Saving new customer,jid to redis failed"
+ end
+
+protected
+
+ def redis_key_jid
+ "jmp_customer_id-#{@jid}"
+ end
+
+ def redis_key_customer_id
+ "jmp_customer_jid-#{@customer_id}"
+ end
+end