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.



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

def initialize(message)
  @message = message
end

Instance Attribute Details

#messageObject (readonly)

Returns the value of attribute message.



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

def message
  @message
end

Instance Method Details

#address_typeObject



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

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

#cityObject



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

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

#countryObject



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

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

#recordObject



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

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



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

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



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

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