From 16dd5856c49e323b65463a02f25ca19e4c086974 Mon Sep 17 00:00:00 2001 From: Dylan Jhaveri Date: Wed, 18 Mar 2015 01:20:21 -0700 Subject: [PATCH] Fix incorrect error message- Stripe::Card.retrieve * This error message said "Cards cannot be retrieved without a customer ID. Retrieve a card using customer.cards.retrieve('card_id')" This is incorrect. `customer.cards` throws a `NoMethodError: undefined method `cards' for #`. * The correct method is `Stripe::Customer#sources`, and this fixes the error message. --- lib/stripe/card.rb | 2 +- test/stripe/customer_card_test.rb | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/stripe/card.rb b/lib/stripe/card.rb index e96a0a8b..e53e4e16 100644 --- a/lib/stripe/card.rb +++ b/lib/stripe/card.rb @@ -13,7 +13,7 @@ module Stripe end def self.retrieve(id, opts=nil) - raise NotImplementedError.new("Cards cannot be retrieved without a customer ID. Retrieve a card using customer.cards.retrieve('card_id')") + raise NotImplementedError.new("Cards cannot be retrieved without a customer ID. Retrieve a card using customer.sources.retrieve('card_id')") end end end diff --git a/test/stripe/customer_card_test.rb b/test/stripe/customer_card_test.rb index 6435292d..da9b30a4 100644 --- a/test/stripe/customer_card_test.rb +++ b/test/stripe/customer_card_test.rb @@ -53,5 +53,11 @@ module Stripe card = c.sources.create(:source => "tok_41YJ05ijAaWaFS") assert_equal "test_card", card.id end + + should "raise if accessing Stripe::Card.retrieve directly" do + assert_raises NotImplementedError do + Stripe::Card.retrieve "card_12345" + end + end end end