class ActiveMerchant::Billing::ConvenienceStore

Public Class Methods

new(code:, full_name_kana:, phone_number:) click to toggle source
# File lib/active_merchant/billing/convenience_store.rb, line 14
def initialize(code:, full_name_kana:, phone_number:)
  @code           = code
  @full_name_kana = full_name_kana
  @phone_number   = phone_number
end

Public Instance Methods

code() click to toggle source
# File lib/active_merchant/billing/convenience_store.rb, line 20
def code
  @code
end
name() click to toggle source
# File lib/active_merchant/billing/convenience_store.rb, line 24
def name
  @full_name_kana
end
phone_number() click to toggle source
# File lib/active_merchant/billing/convenience_store.rb, line 28
def phone_number
  @phone_number
end
validate() click to toggle source
# File lib/active_merchant/billing/convenience_store.rb, line 32
def validate
  errors_hash(validate_essential_attributes)
end

Private Instance Methods

valid_code?(code) click to toggle source
# File lib/active_merchant/billing/convenience_store.rb, line 54
def valid_code?(code)
  [Code::SEVEN_ELEVEN, Code::FAMILY_MART, Code::LAWSON, Code::SEICO_MART, Code::MINI_STOP, Code::CIRCLE_K, Code::SUNKUS].include?(code.to_i)
end
validate_essential_attributes() click to toggle source
# File lib/active_merchant/billing/convenience_store.rb, line 38
def validate_essential_attributes
  errors = []

  if code.blank?
    errors << [:code, "is required"]
  elsif !valid_code?(code)
    errors << [:code, "is invalid"]
  end

  errors << [:full_name_kana, "is required"] if name.blank?
  errors << [:phone_number, "is required"] if phone_number.blank?
  errors << [:phone_number, "is not number"] if phone_number.present? && /\D+/.match(phone_number)

  errors
end