lib/opsicle/commands/delete_instance.rb in opsicle-2.12.3 vs lib/opsicle/commands/delete_instance.rb in opsicle-2.12.5

- old
+ new

@@ -58,14 +58,24 @@ else puts "\nDeleteable Instances:\n" instances.each_with_index { |instance, index| puts "#{index.to_i + 1}) #{instance.status} - #{instance.hostname}" } instance_indices_string = @cli.ask("Which instances would you like to delete? (enter as a comma separated list)\n", String) instance_indices_list = instance_indices_string.split(/,\s*/) + check_for_valid_indices!(instance_indices_list, instances.count) instance_indices_list.map! { |instance_index| instance_index.to_i - 1 } instance_indices_list.each do |index| return_array << instances[index] end end return_array end + + def check_for_valid_indices!(instance_indices_list, option_count) + valid_indices = 1..option_count + + unless instance_indices_list.all?{ |i| valid_indices.include?(i.to_i) } + raise StandardError, "At least one of the indices passed is invalid. Please try again." + end + end + private :check_for_valid_indices! end end