Sha256: e62471e9e0d25c73c67243a7a49ebb85b131301af9e9159ef31703e5015a3745

Contents?: true

Size: 1.49 KB

Versions: 8

Compression:

Stored size: 1.49 KB

Contents

# Copyright (c) 2013-2015 SUSE LLC
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of version 3 of the GNU General Public License as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.   See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, contact SUSE LLC.
#
# To contact SUSE about this file by physical or electronic mail,
# you may find current contact information at www.suse.com

class RemoveTask
  def remove(store, names, options = {})
    if options[:all]
      removed_descriptions = store.list
      removed_descriptions.each do |name|
        store.remove(name)
      end

      if options[:verbose]
        Machinery::Ui.puts "Removed #{removed_descriptions.length} system descriptions successfully."
      end
    end

    errors = []

    Array(names).each do |name|
      if !store.list.include?(name)
        errors.push("System description \"#{name}\" does not exist.")
      else
        store.remove(name)
        if options[:verbose]
          Machinery::Ui.puts "System description \"#{name}\" successfully removed."
        end
      end
    end

    if !errors.empty?
      raise Machinery::Errors::SystemDescriptionNotFound.new(errors.join("\n"))
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
machinery-tool-1.9.0 lib/remove_task.rb
machinery-tool-1.8.2 lib/remove_task.rb
machinery-tool-1.8.1 lib/remove_task.rb
machinery-tool-1.8.0 lib/remove_task.rb
machinery-tool-1.7.0 lib/remove_task.rb
machinery-tool-1.6.0 lib/remove_task.rb
machinery-tool-1.5.0 lib/remove_task.rb
machinery-tool-1.4.0 lib/remove_task.rb