From 56244eb81f77789d966b2342f195042c528be8e3 Mon Sep 17 00:00:00 2001 From: Stephen Paul Weber Date: Fri, 26 Feb 2021 20:51:54 -0500 Subject: [PATCH] Save bidirectional association for customer_id in redis --- config.ru | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/config.ru b/config.ru index cf44acc..3f9e7dd 100644 --- a/config.ru +++ b/config.ru @@ -31,16 +31,25 @@ class CreditCardGateway end def customer_id - customer_id = REDIS.get(redis_key) + customer_id = REDIS.get(redis_key_jid) return customer_id if check_customer_id(customer_id) - cresult = @gateway.customer.create - raise "Braintree customer create failed" unless cresult.success? + 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 - result = REDIS.set(redis_key, cresult.customer.id) - raise "Saving new customer to redis failed" unless result == "OK" + unless REDIS.set(redis_key_customer_id, @jid) == "OK" + raise "Saving new customer,jid to redis failed" + end - cresult.customer.id + @customer_id end def client_token @@ -59,9 +68,13 @@ class CreditCardGateway protected - def redis_key + def redis_key_jid "jmp_customer_id-#{@jid}" end + + def redis_key_customer_id + "jmp_customer_jid-#{@customer_id}" + end end class JmpPay < Roda -- 2.34.7