class SuperpayApi::Telefone

Constants

TIPOS_DE_TELEFONE

Opções de Tipo de Telefone

Attributes

codigo_tipo_telefone[RW]

Ver tabela “Tipos de Telefone” Simbolo - Valores pré-definidos [:outros, :residencial, :comercial, :recados, :cobranca, :temporario]

ddd[RW]

DDD do telefone Alfa Numérico - Até 3 caracteres

ddi[RW]

DDI do telefone Alfa Numérico - Até 3 caracteres

telefone[RW]

Telefone sem espaços ou traços Alfa Numérico - Até 10 caracteres

Public Class Methods

new(campos = {}) click to toggle source

Nova instancia da classe Telefone @param [Hash] campos

# File lib/superpay_api/telefone.rb, line 45
def initialize(campos = {})
  campos.each do |campo, valor|
     if SuperpayApi::Telefone.public_instance_methods.include? "#{campo}=".to_sym
      send "#{campo}=", valor
    end
  end
end
validos() click to toggle source

Retornar array com os possíveis tipos de telefone

# File lib/superpay_api/telefone.rb, line 34
def self.validos
  TIPOS_DE_TELEFONE.map{ |key, value| key }
end

Public Instance Methods

codigo_tipo_telefone_to_request() click to toggle source

Retornar o número do tipo de telefone

# File lib/superpay_api/telefone.rb, line 54
def codigo_tipo_telefone_to_request
  TIPOS_DE_TELEFONE[self.codigo_tipo_telefone]
end
to_request(tipo) click to toggle source

Montar o Hash de tefone conforme o tipo dele no padrão utilizado pelo SuperPay tipo: [:comprador, :adicional_comprador, :entrega, :adicional_entrega]

# File lib/superpay_api/telefone.rb, line 60
def to_request tipo
  telefone = {}
  case tipo.to_sym
    when :comprador then
      telefone = {
        codigo_tipo_telefone_comprador:   self.codigo_tipo_telefone_to_request,
        telefone_comprador:               self.telefone,
        ddd_comprador:                    self.ddd,
        ddi_comprador:                    self.ddi,
      }
    when :adicional_comprador then
      telefone = {
        codigo_tipo_telefone_adicional_comprador:   self.codigo_tipo_telefone_to_request,
        telefone_adicional_comprador:               self.telefone,
        ddd_adicional_comprador:                    self.ddd,
        ddi_adicional_comprador:                    self.ddi,
      }
    when :entrega then
      telefone = {
        codigo_tipo_telefone_entrega:   self.codigo_tipo_telefone_to_request,
        telefone_entrega:               self.telefone,
        ddd_entrega:                    self.ddd,
        ddi_entrega:                    self.ddi,
      }
    when :adicional_entrega then
      telefone = {
        codigo_tipo_telefone_adicional_entrega:   self.codigo_tipo_telefone_to_request,
        telefone_adicional_entrega:               self.telefone,
        ddd_adicional_entrega:                    self.ddd,
        ddi_adicional_entrega:                    self.ddi,
      }
    else
      raise 'Tipo inválido.'
  end
  return telefone
end