Class: InfoPlist

Inherits:
Object
  • Object
show all
Defined in:
lib/ios_backup_extractor/info_plist.rb

Constant Summary collapse

DEVICE_NAME =
'Device Name'
DISPLAY_NAME =
'Display Name'
IMEI =
'IMEI'
ITUNES_VERSION =
'iTunes Version'
LAST_BACKUP_DATE =
'Last Backup Date'
PRODUCT_TYPE =
'Product Type'
PRODUCT_VERSION =
'Product Version'
SERIAL_NUMBER =
'Serial Number'
TAGS =
[DEVICE_NAME, DISPLAY_NAME, IMEI, ITUNES_VERSION, LAST_BACKUP_DATE, PRODUCT_TYPE, PRODUCT_VERSION, SERIAL_NUMBER]

Instance Method Summary collapse

Constructor Details

#initialize(file) ⇒ InfoPlist

Returns a new instance of InfoPlist.



13
14
15
16
# File 'lib/ios_backup_extractor/info_plist.rb', line 13

def initialize(file)
  raise 'Info.plist does not exist' unless File.exist?(file)
  @infos = IosBackupExtractor.plist_file_to_hash(file)
end

Instance Method Details

#detailsObject



32
33
34
35
36
# File 'lib/ios_backup_extractor/info_plist.rb', line 32

def details
  TAGS.each do |tag|
    puts "#{tag}: #{@infos.fetch(tag)}"
  end
end

#has?(key) ⇒ Boolean

Returns:

  • (Boolean)


28
29
30
# File 'lib/ios_backup_extractor/info_plist.rb', line 28

def has?(key)
  @infos.has_key?(key)
end

#to_sObject



38
39
40
# File 'lib/ios_backup_extractor/info_plist.rb', line 38

def to_s
  "#{last_backup_date} - #{device_name} - #{serial_number} (#{product_type} iOS #{product_version})"
end

#versionsObject



24
25
26
# File 'lib/ios_backup_extractor/info_plist.rb', line 24

def versions
  product_version.scan(/\d+/).map {|i| i.to_i}
end