Class: Abbu::Parsers::SqliteParser

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

Overview

rubocop:disable Metrics/ClassLength

Constant Summary collapse

RECORD_FIELD_MAP =

Column-name → attr_accessor mapping for flat fields on ZABCDRECORD

{
  'ZFIRSTNAME' => :first_name, 'ZMIDDLENAME' => :middle_name,
  'ZLASTNAME' => :last_name,
  'ZNICKNAME' => :nickname, 'ZTITLE' => :prefix,
  'ZSUFFIX' => :suffix, 'ZORGANIZATION' => :company,
  'ZJOBTITLE' => :job_title, 'ZDEPARTMENT' => :department,
  'ZMAIDENNAME' => :maiden_name,
  'ZPHONETICFIRSTNAME' => :phonetic_first_name,
  'ZPHONETICMIDDLENAME' => :phonetic_middle_name,
  'ZPHONETICLASTNAME' => :phonetic_last_name,
  'ZPHONETICORGANIZATION' => :phonetic_company,
  'ZPRONOUNS' => :pronouns,
  'ZRINGTONE' => :ringtone, 'ZTEXTTONE' => :texttone,
  'ZVERIFICATIONCODE' => :verification_code
}.freeze

Instance Method Summary collapse

Constructor Details

#initialize(db_paths) ⇒ SqliteParser

Returns a new instance of SqliteParser.



27
28
29
# File 'lib/abbu/parsers/sqlite_parser.rb', line 27

def initialize(db_paths)
  @db_paths = Array(db_paths)
end

Instance Method Details

#contactsObject



31
32
33
34
35
# File 'lib/abbu/parsers/sqlite_parser.rb', line 31

def contacts
  @db_paths.flat_map do |db_path|
    parse_db(db_path)
  end
end