Sha256: 1bf53e91f58f94eb690e7ef3560736494c982068a4d5205216241701984ed5fb

Contents?: true

Size: 1.05 KB

Versions: 2

Compression:

Stored size: 1.05 KB

Contents

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

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

      def self.options
        [['--no-switch', 'Don’t switch to this version after installation'],
         ['--no-clean', 'Don’t delete DMG after installation.']].concat(super)
      end

      def initialize(argv)
        @installer = Installer.new
        @version = argv.shift_argument
        @should_clean = argv.flag?('clean', true)
        @should_switch = argv.flag?('switch', true)
        super
      end

      def validate!
        return if @version.nil?
        fail Informative, "Version #{@version} already installed." if @installer.installed?(@version)
        fail Informative, "Version #{@version} doesn't exist." unless @installer.exist?(@version)
      end

      def run
        return if @version.nil?
        @installer.install_version(@version, @should_switch, @should_clean)
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
xcode-install-0.3.2 lib/xcode/install/install.rb
xcode-install-0.3.1 lib/xcode/install/install.rb