Sha256: fbafaac2aa18d02d7af69a37173d4f59484532d7095898b6b752fdde1ba79603

Contents?: true

Size: 935 Bytes

Versions: 6

Compression:

Stored size: 935 Bytes

Contents

module XcodeInstall
  class Command
    class Uninstall < Command
      self.command = 'uninstall'
      self.summary = 'Uninstall a specific version of Xcode.'

      self.arguments = [
        CLAide::Argument.new('VERSION', :true)
      ]

      def initialize(argv)
        @installer = Installer.new
        @version = argv.shift_argument
        super
      end

      def validate!
        super
        fail Informative, "Version #{@version} is not installed." unless @installer.installed?(@version)
      end

      def run
        installed_path = @installer.installed_versions.find { |x| x.version == @version }
        return if installed_path.nil? || installed_path.path.nil?

        `sudo rm -rf #{installed_path.path}`

        return unless @installer.symlinks_to == installed_path.path
        newest_version = @installer.installed_versions.last
        @installer.symlink(newest_version)
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
xcode-install-1.2.5 lib/xcode/install/uninstall.rb
xcode-install-1.2.4 lib/xcode/install/uninstall.rb
xcode-install-1.2.3 lib/xcode/install/uninstall.rb
xcode-install-1.2.2 lib/xcode/install/uninstall.rb
xcode-install-1.2.1 lib/xcode/install/uninstall.rb
xcode-install-1.2.0 lib/xcode/install/uninstall.rb