Sha256: 9beeebaf0444bebb776a726e206350a6dcf421e768c6860ab91a29590814d93c

Contents?: true

Size: 1.08 KB

Versions: 2

Compression:

Stored size: 1.08 KB

Contents

require 'sinatra/base'
require 'tilt/erb'
require 'fake_braintree/credit_card_serializer'

class CheckoutApp < Sinatra::Base
  get '/advanced_checkout' do
    @token = Braintree::ClientToken.generate
    erb :'advanced_checkout.html'
  end

  get '/custom_checkout' do
    @token = Braintree::ClientToken.generate
    erb :'custom_checkout.html'
  end

  get '/dropin_checkout' do
    @token = Braintree::ClientToken.generate(customer_id: customer.id)
    erb :'dropin_checkout.html'
  end

  get '/credit_cards' do
    @credit_cards = customer.credit_cards.collect do |card|
      FakeBraintree::CreditCardSerializer.new(card).to_h
    end
    erb :'credit_cards.html'
  end

  post '/credit_cards' do
    Braintree::PaymentMethod.create(
      customer_id: customer.id,
      payment_method_nonce: params['payment_method_nonce']
    )
    redirect to('/credit_cards')
  end

  def customer
    begin
      @customer = Braintree::Customer.find('customer_id')
    rescue Braintree::NotFoundError
      @customer = Braintree::Customer.create(id: 'customer_id').customer
    end
    @customer
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
fake_braintree-0.8.0 spec/dummy/checkout_app.rb
fake_braintree-0.7.0 spec/dummy/checkout_app.rb