Sha256: ac620e4c5e7dd073d287d65c3c6ff44bb61686e1216bb9a96ffc1e042ed5b9e2
Contents?: true
Size: 1.25 KB
Versions: 1
Compression:
Stored size: 1.25 KB
Contents
module Roqua module Healthy module A19 class NameParser attr_reader :message def initialize(message) @message = message end def firstname return unless names[:nick] names[:nick].fetch('PID.5.2') end def initials "#{names[:legal].fetch('PID.5.2')} #{names[:legal].fetch('PID.5.3')}".strip end def lastname prefix = names[:legal].fetch('PID.5.1').fetch('PID.5.1.2') lastname = names[:legal].fetch('PID.5.1').fetch('PID.5.1.3') "#{prefix} #{lastname}".strip end def display_name return unless names[:display] names[:display].fetch('PID.5.1') end def nickname firstname end private def names names = {} message.fetch('PID').fetch('PID.5').each do |record| case record.fetch('PID.5.7', :unknown_type_of_name_record) when 'L' names[:legal] = record when 'D' names[:display] = record when 'N' names[:nick] = record # else ignore record end end names end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
roqua-healthy-1.4.1 | lib/roqua/healthy/a19/name_parser.rb |