Class: Roqua::Healthy::A19::AddressParser

Inherits:
Object
  • Object
show all
Defined in:
lib/roqua/healthy/a19/address_parser.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(message) ⇒ AddressParser

Returns a new instance of AddressParser.



8
9
10
# File 'lib/roqua/healthy/a19/address_parser.rb', line 8

def initialize(message)
  @message = message
end

Instance Attribute Details

#messageObject (readonly)

Returns the value of attribute message.



6
7
8
# File 'lib/roqua/healthy/a19/address_parser.rb', line 6

def message
  @message
end

Instance Method Details

#address_typeObject



12
13
14
15
# File 'lib/roqua/healthy/a19/address_parser.rb', line 12

def address_type
  return nil unless record
  record.fetch('PID.11.7')
end

#cityObject



22
23
24
25
# File 'lib/roqua/healthy/a19/address_parser.rb', line 22

def city
  return nil unless record
  record.fetch('PID.11.3')
end

#countryObject



32
33
34
35
# File 'lib/roqua/healthy/a19/address_parser.rb', line 32

def country
  return nil unless record
  record.fetch('PID.11.6')
end

#recordObject



37
38
39
40
41
42
43
# File 'lib/roqua/healthy/a19/address_parser.rb', line 37

def record
  @record = nil
  @record ||= message.fetch('PID').fetch('PID.11').find { |record| record.fetch('PID.11.7', :unknown_type_of_address_record) == 'M' }
  @record ||= message.fetch('PID').fetch('PID.11').find { |record| record.fetch('PID.11.7', :unknown_type_of_address_record) == 'H' }
  @record ||= message.fetch('PID').fetch('PID.11').find { |record| record.fetch('PID.11.7', :unknown_type_of_address_record) == 'L' }
  @record
end

#streetObject



17
18
19
20
# File 'lib/roqua/healthy/a19/address_parser.rb', line 17

def street
  return nil if record.blank? || record.fetch('PID.11.1').blank?
  record.fetch('PID.11.1').fetch('PID.11.1.1')
end

#zipcodeObject



27
28
29
30
# File 'lib/roqua/healthy/a19/address_parser.rb', line 27

def zipcode
  return nil unless record
  record.fetch('PID.11.5')
end