Class: Pik::Remove

Inherits:
Command show all
Includes:
ConfigFileEditor
Defined in:
lib/pik/commands/remove_command.rb

Instance Attribute Summary collapse

Attributes inherited from Command

#config, #options, #output, #version

Instance Method Summary collapse

Methods included from ConfigFileEditor

#initialize

Methods inherited from Command

#add_sigint_handler, aka, choose_from, clean_gem_batch, #close, cmd_name, #cmd_name, #create, #current_gem_bin_path, #current_version?, #default_gem_home, #delete_old_pik_batches, description, #editors, #find_config_from_path, #get_version, hl, inherited, #initialize, it, names, #parse_options, summary

Instance Attribute Details

#forceObject (readonly)

Returns the value of attribute force.



9
10
11
# File 'lib/pik/commands/remove_command.rb', line 9

def force
  @force
end

Instance Method Details

#command_optionsObject



20
21
22
23
24
25
# File 'lib/pik/commands/remove_command.rb', line 20

def command_options
  super
  options.on("--force", "-f", "Remove without prompting") do |value|
    @force = value
  end
end

#executeObject

Raises:



11
12
13
14
15
16
17
18
# File 'lib/pik/commands/remove_command.rb', line 11

def execute
  to_remove = self.class.choose_from(@args, @config)
  raise QuitError unless to_remove
  if force || @hl.agree("Are you sure you'd like to remove '#{to_remove}'? [Yn] ")  
    @config.delete(to_remove)
    @hl.say("#{to_remove} removed")
  end
end