class ProvisionProfileParser

Public Class Methods

new(provision_path) click to toggle source
# File lib/profiles/provision_profile_parser.rb, line 7
def initialize provision_path
  @provision_path = provision_path
  at_exit { clean_up }
end

Public Instance Methods

certificates() click to toggle source
# File lib/profiles/provision_profile_parser.rb, line 12
def certificates
  parse
  @data["DeveloperCertificates"]
end
name() click to toggle source
# File lib/profiles/provision_profile_parser.rb, line 17
def name
  @data["Name"]
end
provisioned_devices() click to toggle source
# File lib/profiles/provision_profile_parser.rb, line 21
def provisioned_devices
  parse
  @data["ProvisionedDevices"]
end
team_name() click to toggle source
# File lib/profiles/provision_profile_parser.rb, line 26
def team_name
  parse
  @data["TeamName"]
end

Private Instance Methods

clean_up() click to toggle source
# File lib/profiles/provision_profile_parser.rb, line 44
def clean_up
  system "rm -rf #{TEMP_PLIST}"
end
parse() click to toggle source
# File lib/profiles/provision_profile_parser.rb, line 33
def parse
  return @data if @data

  `security cms -D -i "#{@provision_path}" > #{TEMP_PLIST}`

  # Get info from plist
  plist = CFPropertyList::List.new
  plist = CFPropertyList::List.new(:file => TEMP_PLIST)
  @data = CFPropertyList.native_types(plist.value)
end