Sha256: e3096ab4d6420a42300d48ac0bd7df3fdd2555c795ba954c3114126cf9136b99
Contents?: true
Size: 1.42 KB
Versions: 5
Compression:
Stored size: 1.42 KB
Contents
module Braintree class PayPalAccount include BaseModule attr_reader :billing_agreement_id attr_reader :created_at attr_reader :customer_id attr_reader :email attr_reader :image_url attr_reader :payer_id attr_reader :revoked_at attr_reader :subscriptions attr_reader :token attr_reader :updated_at def initialize(gateway, attributes) @gateway = gateway set_instance_variables_from_hash(attributes) @subscriptions = (@subscriptions || []).map { |subscription_hash| Subscription._new(@gateway, subscription_hash) } end class << self protected :new end def self._new(*args) self.new(*args) end def self.create(attributes) Configuration.gateway.paypal_account.create(attributes) end def self.find(token) Configuration.gateway.paypal_account.find(token) end def self.update(token, attributes) Configuration.gateway.paypal_account.update(token, attributes) end def self.delete(token) Configuration.gateway.paypal_account.delete(token) end def self.sale(token, transaction_attributes) Configuration.gateway.transaction.sale(transaction_attributes.merge(:payment_method_token => token)) end def self.sale!(token, transaction_attributes) return_object_or_raise(:transaction) { sale(token, transaction_attributes) } end def default? @default end end end
Version data entries
5 entries across 5 versions & 1 rubygems