class Braintree::VisaCheckoutCard
Attributes
Public Class Methods
Source
# File lib/braintree/visa_checkout_card.rb, line 81 def self._attributes [ :bin, :billing_address, :business, :card_type, :cardholder_name, :commercial, :consumer, :container_id, :corporate, :country_of_issuance, :created_at, :customer_id, :customer_location, :debit, :durbin_regulated, :expiration_month, :expiration_year, :healthcare, :image_url, :issuing_bank, :last_4, :payroll, :prepaid, :prepaid_reloadable, :product_id, :purchase, :token, :updated_at ] end
Source
# File lib/braintree/visa_checkout_card.rb, line 91 def self._new(*args) self.new(*args) end
Protected Class Methods
Source
# File lib/braintree/visa_checkout_card.rb, line 38 def initialize(gateway, attributes) @gateway = gateway set_instance_variables_from_hash(attributes) @billing_address = attributes[:billing_address] ? Address._new(@gateway, attributes[:billing_address]) : nil @subscriptions = (@subscriptions || []).map { |subscription_hash| Subscription._new(@gateway, subscription_hash) } @verification = _most_recent_verification(attributes) end
Public Instance Methods
Source
# File lib/braintree/visa_checkout_card.rb, line 46 def _most_recent_verification(attributes) sorted_verifications = (attributes[:verifications] || []).sort_by { |verification| verification[:created_at] }.reverse.first CreditCardVerification._new(sorted_verifications) if sorted_verifications end
Source
# File lib/braintree/visa_checkout_card.rb, line 56 def expiration_date "#{expiration_month}/#{expiration_year}" end
Expiration date formatted as MM/YYYY
Source
# File lib/braintree/visa_checkout_card.rb, line 64 def inspect first = [:token] order = first + (self.class._attributes - first) nice_attributes = order.map do |attr| "#{attr}: #{send(attr).inspect}" end "#<#{self.class} #{nice_attributes.join(', ')}>" end
Source
# File lib/braintree/visa_checkout_card.rb, line 73 def masked_number "#{bin}******#{last_4}" end