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