class ProfilesUDIDFetcher

Public Class Methods

new(profiles:profiles, udid:udid, include_team_profiles:include_team_profiles) click to toggle source
# File lib/profiles/profiles_udid_fetcher.rb, line 5
def initialize(profiles:profiles, udid:udid, include_team_profiles:include_team_profiles)
  @udid = udid
  @include_team_profiles = include_team_profiles
  @provision_profiles = profiles
end

Public Instance Methods

provision_profiles() click to toggle source
# File lib/profiles/profiles_udid_fetcher.rb, line 11
def provision_profiles
  profiles_containing_udid
end

Private Instance Methods

profiles_containing_udid() click to toggle source
# File lib/profiles/profiles_udid_fetcher.rb, line 17
def profiles_containing_udid
  profiles = []
      
  @provision_profiles.each do |file|
    provision_profile = ProvisionProfileParser.new(file)
    
    devices = provision_profile.provisioned_devices
    
    next unless devices && devices.include?(@udid)
   
    profile_name = provision_profile.name
    next if profile_name =~ /iOSTeam Provisioning Profile.*/ && !@include_team_profiles
   
    profiles << profile_name
  end

  profiles
end