Sha256: 27e15dac6e94df93714263d39e8fee76376a18f32c8b6749e89fcaa46a904bbc

Contents?: true

Size: 981 Bytes

Versions: 1

Compression:

Stored size: 981 Bytes

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?
				raise Informative, "Version #{@version} already installed." if @installer.installed?(@version)
				raise 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

1 entries across 1 versions & 1 rubygems

Version Path
xcode-install-0.3.0 lib/xcode/install/install.rb