Sha256: 3f3de955d591c78cb2b588e28fbfc581ea5975bd1ec725402667f44facffe8e8

Contents?: true

Size: 1.29 KB

Versions: 6

Compression:

Stored size: 1.29 KB

Contents

module Braintree
  # See http://www.braintreepayments.com/docs/ruby
  class Gateway
    attr_reader :config

    def initialize(config)
      if config.is_a?(Hash)
        @config = Configuration.new config
      elsif config.is_a?(Braintree::Configuration)
        @config = config
      else
        raise ArgumentError, "config is an invalid type"
      end
    end

    def add_on
      AddOnGateway.new(self)
    end

    def address
      AddressGateway.new(self)
    end

    def credit_card
      CreditCardGateway.new(self)
    end

    def customer
      CustomerGateway.new(self)
    end

    def discount
      DiscountGateway.new(self)
    end

    def plan
      PlanGateway.new(self)
    end

    def merchant_account
      MerchantAccountGateway.new(self)
    end

    def settlement_batch_summary
      SettlementBatchSummaryGateway.new(self)
    end

    def subscription
      SubscriptionGateway.new(self)
    end

    def transparent_redirect
      TransparentRedirectGateway.new(self)
    end

    def transaction
      TransactionGateway.new(self)
    end

    def verification
      CreditCardVerificationGateway.new(self)
    end

    def webhook_notification
      WebhookNotificationGateway.new(self)
    end

    def webhook_testing
      WebhookTestingGateway.new(self)
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
braintree-2.30.0 lib/braintree/gateway.rb
braintree-2.29.0 lib/braintree/gateway.rb
braintree-2.28.0 lib/braintree/gateway.rb
braintree-2.27.1 lib/braintree/gateway.rb
braintree-2.27.0 lib/braintree/gateway.rb
braintree-2.26.0 lib/braintree/gateway.rb