Sha256: 5bbc7eaecb0b05045c4e5bf21e5a40c205c2d281316e07ad0194a5e3f2c2046a

Contents?: true

Size: 605 Bytes

Versions: 4

Compression:

Stored size: 605 Bytes

Contents

module BraintreeRails
  class CreditCards < SimpleDelegator
    def initialize(customer, credit_cards)
      @customer = customer
      super(Array(credit_cards).map{|card| CreditCard.new(card)})
    end

    def find(token = nil, &block)
      token.nil? ? super(&block) : super() { |c| c.token == token }
    end

    def build(params)
      CreditCard.new(params.merge(:customer_id => @customer.id))
    end

    def create(params)
      build(params).tap { |credit_card| credit_card.save }
    end

    def create!(params)
      build(params).tap { |credit_card| credit_card.save! }
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
braintree-rails-0.2.0 lib/braintree_rails/credit_cards.rb
braintree-rails-0.1.0 lib/braintree_rails/credit_cards.rb
braintree-rails-0.0.2 lib/braintree_rails/credit_cards.rb
braintree-rails-0.0.1 lib/braintree_rails/credit_cards.rb