Class: EgonGate::Egsb::Message

Inherits:
Object
  • Object
show all
Defined in:
lib/egon_gate/egsb/message.rb

Instance Method Summary collapse

Instance Method Details

#configObject



10
11
12
# File 'lib/egon_gate/egsb/message.rb', line 10

def config
  @config ||= EgonGate::Egsb::Config.new
end

#headerObject



30
31
32
33
34
35
36
37
38
39
40
# File 'lib/egon_gate/egsb/message.rb', line 30

def header
  {
    'reg:CasZadosti' => Time.now.strftime('%Y-%m-%dT%H:%M:%S.%L%:z'),
    'reg:Agenda' => config.agenda,
    'reg:AgendovaRole' => config.role_of_agenda,
    'reg:Ovm' => config.ovm_code,
    'reg:Ais' => config.ais_code,
    'reg:Uzivatel' => 'OEzr',
    'reg:AgendaZadostId' => message_id
  }
end

#messageObject



54
55
56
57
58
59
60
61
62
63
64
# File 'lib/egon_gate/egsb/message.rb', line 54

def message
  {
    message_tag => {
      'abs:ZadostInfo' => header,
      'nsgon:Zadost' => {
        message_request_tag => message_body
      }
    },
    attributes!: { message_tag => namespace_definitions }
  }
end

#message_bodyObject



49
50
51
# File 'lib/egon_gate/egsb/message.rb', line 49

def message_body
  {}
end

#message_codeObject

Raises:

  • (NotImplementedError)


18
19
20
# File 'lib/egon_gate/egsb/message.rb', line 18

def message_code
  raise NotImplementedError.new
end

#message_idObject



14
15
16
# File 'lib/egon_gate/egsb/message.rb', line 14

def message_id
  @message_id ||= SecureRandom.uuid
end

#message_request_tagObject

Raises:

  • (NotImplementedError)


26
27
28
# File 'lib/egon_gate/egsb/message.rb', line 26

def message_request_tag
  raise NotImplementedError.new
end

#message_tagObject

Raises:

  • (NotImplementedError)


22
23
24
# File 'lib/egon_gate/egsb/message.rb', line 22

def message_tag
  raise NotImplementedError.new
end

#namespace_definitionsObject



42
43
44
45
46
47
# File 'lib/egon_gate/egsb/message.rb', line 42

def namespace_definitions
  {
    'xmlns:abs' => 'urn:cz:isvs:iszr:schemas:IszrAbstract:v1',
    'xmlns:reg' => 'urn:cz:isvs:reg:schemas:RegTypy:v1'
  }
end

#parse_response(response) ⇒ Object



66
67
68
# File 'lib/egon_gate/egsb/message.rb', line 66

def parse_response(response)
  response[:ruian_vyhledej_adresu_response][:ruian_odpoved][:ruian_vyhledej_adresu_data_response][:adresy][:adresa]
end

#to_sObject



70
71
72
# File 'lib/egon_gate/egsb/message.rb', line 70

def to_s
  Gyoku.xml(message, key_converter: :camelcase)
end