lib/fake_braintree/customer.rb in fake_braintree-0.1.0 vs lib/fake_braintree/customer.rb in fake_braintree-0.1.1

- old
+ new

@@ -12,12 +12,13 @@ def create if invalid? failure_response else hash = customer_hash - FakeBraintree.registry.customers[hash["id"]] = hash - gzipped_response(201, hash.to_xml(:root => 'customer')) + create_customer_with(hash) + create_credit_card_with(hash) + creation_response_for(hash) end end def update if existing_customer_hash @@ -118,8 +119,28 @@ has_credit_card_number? && @customer_hash["credit_card"]["number"] end def existing_customer_id @customer_hash['id'] + end + + def creation_response_for(hash) + gzipped_response(201, hash.to_xml(:root => 'customer')) + end + + def create_customer_with(hash) + FakeBraintree.registry.customers[hash["id"]] = hash + end + + def create_credit_card_with(hash) + if hash.key?("credit_cards") + hash["credit_cards"].each do |credit_card| + add_credit_card_to_registry(credit_card) + end + end + end + + def add_credit_card_to_registry(credit_card_hash) + FakeBraintree.registry.credit_cards[credit_card_hash["token"]] = credit_card_hash end end end