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
44
45
46
47
48
# File 'lib/roqua/healthy/a19/address_parser.rb', line 37

def record
  # PID.11.7 address types:
  # M: Mailing
  # P: Permanent
  # H: Home
  # L: Legal address

  @record ||= get_address_of_type(message, 'M') ||
              get_address_of_type(message, 'P') ||
              get_address_of_type(message, 'H') ||
              get_address_of_type(message, 'L')
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