Sha256: e016f2747c6a33a4356f03cd43da2827449fbf6889043c19d45dd568842ff31e

Contents?: true

Size: 954 Bytes

Versions: 9

Compression:

Stored size: 954 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.billable_models.each { |model| 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

9 entries across 9 versions & 1 rubygems

Version Path
pay-2.4.4 lib/pay/braintree.rb
pay-2.4.3 lib/pay/braintree.rb
pay-2.4.2 lib/pay/braintree.rb
pay-2.4.0 lib/pay/braintree.rb
pay-2.3.1 lib/pay/braintree.rb
pay-2.3.0 lib/pay/braintree.rb
pay-2.2.2 lib/pay/braintree.rb
pay-2.2.1 lib/pay/braintree.rb
pay-2.2.0 lib/pay/braintree.rb