Class: Abbu::Parsers::PlistParser

Inherits:
Object
  • Object
show all
Defined in:
lib/abbu/parsers/plist_parser.rb

Constant Summary collapse

FIELD_MAP =

Maps plist keys → Contact attr_accessor names for simple string fields

{
  'First' => :first_name, 'Middle' => :middle_name,
  'Last' => :last_name,
  'Nickname' => :nickname,  'Title' => :prefix,
  'Suffix' => :suffix,      'Organization' => :company,
  'JobTitle' => :job_title, 'Department' => :department,
  'MaidenName' => :maiden_name, 'VerificationCode' => :verification_code,
  'PhoneticFirst' => :phonetic_first_name,
  'PhoneticMiddle' => :phonetic_middle_name,
  'PhoneticLast' => :phonetic_last_name
}.freeze

Instance Method Summary collapse

Constructor Details

#initialize(paths) ⇒ PlistParser

Accepts either a directory path (scans for *.abcdp) or an array of file paths



24
25
26
# File 'lib/abbu/parsers/plist_parser.rb', line 24

def initialize(paths)
  @paths = resolve_paths(paths)
end

Instance Method Details

#contactsObject



28
29
30
# File 'lib/abbu/parsers/plist_parser.rb', line 28

def contacts
  @paths.filter_map { |file| parse_file(file) }
end