Class: F2b::Cobranca::Status

Inherits:
Handsoap::Service
  • Object
show all
Defined in:
lib/f2b/cobranca_status.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#clienteObject

Returns the value of attribute cliente.



7
8
9
# File 'lib/f2b/cobranca_status.rb', line 7

def cliente
  @cliente
end

#cobrancaObject

Returns the value of attribute cobranca.



8
9
10
# File 'lib/f2b/cobranca_status.rb', line 8

def cobranca
  @cobranca
end

#mensagemObject

Returns the value of attribute mensagem.



6
7
8
# File 'lib/f2b/cobranca_status.rb', line 6

def mensagem
  @mensagem
end

Instance Method Details

#on_create_document(doc) ⇒ Object



10
11
12
# File 'lib/f2b/cobranca_status.rb', line 10

def on_create_document(doc)
  doc.alias 'wsb', 'http://www.f2b.com.br/soap/wsbillingstatus.xsd'
end

#on_response_document(doc) ⇒ Object



14
15
16
# File 'lib/f2b/cobranca_status.rb', line 14

def on_response_document(doc)
  doc.add_namespace 'm', 'http://www.f2b.com.br/soap/wsbillingstatus.xsd'
end

#submit!Object



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/f2b/cobranca_status.rb', line 18

def submit!
  response = invoke("wsb:F2bSituacaoCobranca") do |message|
    message.add "mensagem" do |m|
      m.set_attr "data", @mensagem.fetch(:data)
      m.set_attr "numero", @mensagem.fetch(:numero)
    end
    
    message.add "cliente" do |c|
      c.set_attr "conta", @cliente.fetch(:conta)
      c.set_attr "senha", @cliente.fetch(:senha)
    end
    
    message.add "cobranca" do |c|
      build_chooseable_attr! c, :numero, @cobranca
      build_chooseable_attr! c, :registro, @cobranca
      build_chooseable_attr! c, :vencimento, @cobranca
      build_chooseable_attr! c, :processamento, @cobranca
      build_chooseable_attr! c, :credito, @cobranca
      
      c.set_attr "cod_sacado", @cobranca.fetch(:cod_sacado) if @cobranca.has_key? :cod_sacado
      c.set_attr "cod_grupo", @cobranca.fetch(:cod_grupo) if @cobranca.has_key? :cod_grupo
      c.set_attr "tipo_pagamento", @cobranca.fetch(:tipo_pagamento) if @cobranca.has_key? :tipo_pagamento
      c.set_attr "numero_documento", @cobranca.fetch(:numero_documento) if @cobranca.has_key? :numero_documento
    end
  end
  
  parse_response(response)
end