class MusicTodayApiWrapper::Resources::Checkout::Billing::Payment

Attributes

amount[RW]
card_number[RW]
card_type[RW]
expiration_month[RW]
expiration_year[RW]
name[RW]

Public Class Methods

new(card_number, name, amount, expiration_year, expiration_month) click to toggle source
# File lib/resources/checkout/billing/payment.rb, line 16
def initialize(card_number, name, amount, expiration_year,
  expiration_month)
  @card_number = card_number
  @expiration_year = expiration_year.to_i
  @expiration_month = expiration_month.to_i
  @name = name
  @amount = amount.to_f
  credit_card_type
end

Public Instance Methods

as_hash() click to toggle source
# File lib/resources/checkout/billing/payment.rb, line 26
def as_hash
  { type: @card_type,
    accountNumber: @card_number,
    expYear: @expiration_year,
    expMonth: @expiration_month,
    nameOnCard: @name,
    amount: @amount }.compact
end

Private Instance Methods

credit_card_type() click to toggle source
# File lib/resources/checkout/billing/payment.rb, line 37
def credit_card_type
  @card_type =
    case CreditCardValidator::Validator.card_type(@card_number)
    when 'visa'
      'VISA'
    when 'master_card'
      'MC'
    when 'amex'
      'AMEX'
    when 'discover'
      'DISCOVER'
    end
end