Class: AprovaFacil::CartaoCredito
- Inherits:
-
Object
- Object
- AprovaFacil::CartaoCredito
- Defined in:
- lib/aprova_facil/cartao_credito.rb
Defined Under Namespace
Modules: Bandeira
Instance Attribute Summary collapse
-
#ano_validade ⇒ Object
Returns the value of attribute ano_validade.
-
#bandeira ⇒ Object
Returns the value of attribute bandeira.
-
#codigo_seguranca ⇒ Object
Returns the value of attribute codigo_seguranca.
-
#cpf_portador ⇒ Object
Returns the value of attribute cpf_portador.
-
#data_nascimento ⇒ Object
Returns the value of attribute data_nascimento.
-
#documento ⇒ Object
Returns the value of attribute documento.
-
#errors ⇒ Object
Returns the value of attribute errors.
-
#ip_comprador ⇒ Object
Returns the value of attribute ip_comprador.
-
#mes_validade ⇒ Object
Returns the value of attribute mes_validade.
-
#nome_mae ⇒ Object
Returns the value of attribute nome_mae.
-
#nome_portador ⇒ Object
Returns the value of attribute nome_portador.
-
#numero_cartao ⇒ Object
Returns the value of attribute numero_cartao.
-
#parcelamento_administradora ⇒ Object
Returns the value of attribute parcelamento_administradora.
-
#parcelas ⇒ Object
Returns the value of attribute parcelas.
-
#pre_autorizacao ⇒ Object
Returns the value of attribute pre_autorizacao.
-
#valor ⇒ Object
Returns the value of attribute valor.
Instance Method Summary collapse
-
#initialize(options = {}) ⇒ CartaoCredito
constructor
A new instance of CartaoCredito.
- #to_params ⇒ Object
- #valid? ⇒ Boolean
Constructor Details
#initialize(options = {}) ⇒ CartaoCredito
Returns a new instance of CartaoCredito.
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/aprova_facil/cartao_credito.rb', line 23 def initialize(={}) @documento = [:documento] @valor = [:valor] @parcelas = [:parcelas] || 1 @numero_cartao = [:numero_cartao] @codigo_seguranca = [:codigo_seguranca] @mes_validade = [:mes_validade] @ano_validade = [:ano_validade] @pre_autorizacao = [:pre_autorizacao] || false @ip_comprador = [:ip_comprador] @nome_portador = [:nome_portador] @bandeira = [:bandeira] @cpf_portador = [:cpf_portador] @data_nascimento = [:data_nascimento] @nome_mae = [:nome_mae] @parcelamento_administradora = [:parcelamento_administradora] || true @transacao_anterior = [:transacao_anterior] @errors = [] end |
Instance Attribute Details
#ano_validade ⇒ Object
Returns the value of attribute ano_validade.
18 19 20 |
# File 'lib/aprova_facil/cartao_credito.rb', line 18 def ano_validade @ano_validade end |
#bandeira ⇒ Object
Returns the value of attribute bandeira.
18 19 20 |
# File 'lib/aprova_facil/cartao_credito.rb', line 18 def bandeira @bandeira end |
#codigo_seguranca ⇒ Object
Returns the value of attribute codigo_seguranca.
18 19 20 |
# File 'lib/aprova_facil/cartao_credito.rb', line 18 def codigo_seguranca @codigo_seguranca end |
#cpf_portador ⇒ Object
Returns the value of attribute cpf_portador.
18 19 20 |
# File 'lib/aprova_facil/cartao_credito.rb', line 18 def cpf_portador @cpf_portador end |
#data_nascimento ⇒ Object
Returns the value of attribute data_nascimento.
18 19 20 |
# File 'lib/aprova_facil/cartao_credito.rb', line 18 def data_nascimento @data_nascimento end |
#documento ⇒ Object
Returns the value of attribute documento.
18 19 20 |
# File 'lib/aprova_facil/cartao_credito.rb', line 18 def documento @documento end |
#errors ⇒ Object
Returns the value of attribute errors.
18 19 20 |
# File 'lib/aprova_facil/cartao_credito.rb', line 18 def errors @errors end |
#ip_comprador ⇒ Object
Returns the value of attribute ip_comprador.
18 19 20 |
# File 'lib/aprova_facil/cartao_credito.rb', line 18 def ip_comprador @ip_comprador end |
#mes_validade ⇒ Object
Returns the value of attribute mes_validade.
18 19 20 |
# File 'lib/aprova_facil/cartao_credito.rb', line 18 def mes_validade @mes_validade end |
#nome_mae ⇒ Object
Returns the value of attribute nome_mae.
18 19 20 |
# File 'lib/aprova_facil/cartao_credito.rb', line 18 def nome_mae @nome_mae end |
#nome_portador ⇒ Object
Returns the value of attribute nome_portador.
18 19 20 |
# File 'lib/aprova_facil/cartao_credito.rb', line 18 def nome_portador @nome_portador end |
#numero_cartao ⇒ Object
Returns the value of attribute numero_cartao.
18 19 20 |
# File 'lib/aprova_facil/cartao_credito.rb', line 18 def numero_cartao @numero_cartao end |
#parcelamento_administradora ⇒ Object
Returns the value of attribute parcelamento_administradora.
18 19 20 |
# File 'lib/aprova_facil/cartao_credito.rb', line 18 def parcelamento_administradora @parcelamento_administradora end |
#parcelas ⇒ Object
Returns the value of attribute parcelas.
18 19 20 |
# File 'lib/aprova_facil/cartao_credito.rb', line 18 def parcelas @parcelas end |
#pre_autorizacao ⇒ Object
Returns the value of attribute pre_autorizacao.
18 19 20 |
# File 'lib/aprova_facil/cartao_credito.rb', line 18 def pre_autorizacao @pre_autorizacao end |
#valor ⇒ Object
Returns the value of attribute valor.
18 19 20 |
# File 'lib/aprova_facil/cartao_credito.rb', line 18 def valor @valor end |
Instance Method Details
#to_params ⇒ Object
81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 |
# File 'lib/aprova_facil/cartao_credito.rb', line 81 def to_params params = {} params['NumeroDocumento'] = documento if self.documento params['ValorDocumento'] = valor params['QuantidadeParcelas'] = '%02d' % parcelas params['NumeroCartao'] = numero_cartao params['MesValidade'] = '%02d' % mes_validade.to_i params['AnoValidade'] = '%02d' % ano_validade params['CodigoSeguranca'] = codigo_seguranca params['PreAutorizacao'] = pre_autorizacao ? 'S' : 'N' params['EnderecoIPComprado'] = ip_comprador params['NomePortadorCarta'] = nome_portador if nome_portador params['Bandeira'] = bandeira if bandeira params['CPFPortadorCartao'] = cpf_portador.gsub /\D/, '' if cpf_portador params['DataNascimentoPortadorCartao'] = data_nascimento.strftime('%Y%m%d') if data_nascimento and data_nascimento.kind_of?(Date) params['NomeMaePortadorCarta'] = nome_mae if nome_mae params['ParcelamentoAdministrador'] = parcelamento_administradora ? 'S' : 'N' params end |
#valid? ⇒ Boolean
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
# File 'lib/aprova_facil/cartao_credito.rb', line 44 def valid? errors.clear errors << {:valor => 'deve ser informado'} if valor.nil? or !valor.kind_of?(Float) if parcelas.nil? or (parcelas.kind_of?(Integer) and parcelas == 0) errors << {:parcelas => 'deve ser informado'} end errors << {:numero_cartao => 'deve ser informado'} if numero_cartao.nil? or numero_cartao.empty? if mes_validade.nil? or mes_validade.empty? errors << {:mes_validade => 'deve ser informado'} elsif mes_validade.size != 2 or mes_validade.match(/\D/) errors << {:mes_validade => 'deve ser informado'} end if ano_validade.nil? or ano_validade.empty? errors << {:ano_validade => 'deve ser informado'} elsif ano_validade.size != 2 or ano_validade.match(/\D/) errors << {:ano_validade => 'deve ter 2 dígitos numéricos'} end if codigo_seguranca.nil? or codigo_seguranca.empty? errors << {:codigo_seguranca => 'deve ser informado'} elsif codigo_seguranca.match(/\D/) errors << {:codigo_seguranca => 'deve até apenas dígitos numéricos'} end if ip_comprador.nil? or ip_comprador.empty? errors << {:ip_comprador => 'deve ser informado'} elsif !ip_comprador.match(/\d+\.\d+\.\d+\.\d+/) errors << {:ip_comprador => 'Dese Tem que ser no formato 000.000.000.000'} end errors.size == 0 end |