class Sigh::Repair

Public Instance Methods

repair_all() click to toggle source
# File lib/sigh/repair.rb, line 3
def repair_all
  UI.message "Starting login with user '#{Sigh.config[:username]}'"
  Spaceship.login(Sigh.config[:username], nil)
  Spaceship.select_team
  UI.message "Successfully logged in"

  # Select all 'Invalid' or 'Expired' provisioning profiles
  broken_profiles = Spaceship.provisioning_profile.all.find_all do |profile|
    (profile.status == "Invalid" or profile.status == "Expired")
  end

  if broken_profiles.count == 0
    UI.success "All provisioning profiles are valid, nothing to do"
    return
  end

  UI.success "Going to repair #{broken_profiles.count} provisioning profiles"

  # Iterate over all broken profiles and repair them
  broken_profiles.each do |profile|
    UI.message "Repairing profile '#{profile.name}'..."
    profile.repair! # yes, that's all you need to repair a profile
  end

  UI.success "Successfully repaired #{broken_profiles.count} provisioning profiles"
end