Sha256: d752797abbcc7baf1b8291053dd901bcbfc7f3a3748cd4e08fd17fef0d50229c

Contents?: true

Size: 927 Bytes

Versions: 7

Compression:

Stored size: 927 Bytes

Contents

require 'pay/env'
require 'pay/braintree/billable'
require 'pay/braintree/charge'
require 'pay/braintree/subscription'

module Pay
  module Braintree
    include Env

    extend self

    def setup
      Pay.braintree_gateway = ::Braintree::Gateway.new(
        environment: environment.to_sym,
        merchant_id: merchant_id,
        public_key:  public_key,
        private_key: private_key
      )

      Pay.charge_model.include Pay::Braintree::Charge
      Pay.subscription_model.include Pay::Braintree::Subscription
      Pay.user_model.include Pay::Braintree::Billable
    end

    def public_key
      find_value_by_name(:braintree, :public_key)
    end

    def private_key
      find_value_by_name(:braintree, :private_key)
    end

    def merchant_id
      find_value_by_name(:braintree, :merchant_id)
    end

    def environment
      find_value_by_name(:braintree, :environment) || 'sandbox'
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
pay-1.0.2 lib/pay/braintree.rb
pay-1.0.1 lib/pay/braintree.rb
pay-1.0.0 lib/pay/braintree.rb
pay-1.0.0.rc3 lib/pay/braintree.rb
pay-1.0.0.rc2 lib/pay/braintree.rb
pay-1.0.0.rc1 lib/pay/braintree.rb
pay-1.0.0.beta5 lib/pay/braintree.rb