Sha256: 4565dd62efaf9f3d2dde5050dffd6f0168803a53ef461350bfb3df88ab70a1ba

Contents?: true

Size: 1.15 KB

Versions: 11

Compression:

Stored size: 1.15 KB

Contents

require "vmc/cli/route/base"

module VMC::Route
  class DeleteRoute < Base
    desc "Delete a route"
    group :routes
    input(:route, :argument => :optional,
          :from_given => find_by_name("route"),
          :desc => "Route to delete") { |routes|
      ask "Which route?", :choices => routes.sort_by(&:name),
        :display => proc(&:name)
    }
    input(:really, :type => :boolean, :forget => true, :hidden => true,
          :default => proc { force? || interact }) { |name, color|
      ask("Really delete #{c(name, color)}?", :default => false)
    }
    input :all, :type => :boolean, :default => false,
      :desc => "Delete all routes"
    def delete_route
      if input[:all]
        return unless input[:really, "ALL ROUTES", :bad]

        client.routes.each do |r|
          invoke :delete_route, :route => r, :really => true
        end

        return
      end

      routes = client.routes
      fail "No routes." if routes.empty?

      route = input[:route, client.routes]

      return unless input[:really, route.name, :name]

      with_progress("Deleting route #{c(route.name, :name)}") do
        route.delete!
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
vmc-0.4.7 lib/vmc/cli/route/delete_route.rb
vmc-0.4.6 lib/vmc/cli/route/delete_route.rb
vmc-0.4.5 lib/vmc/cli/route/delete_route.rb
vmc-0.4.4 lib/vmc/cli/route/delete_route.rb
vmc-0.4.3 lib/vmc/cli/route/delete_route.rb
vmc-0.4.2 lib/vmc/cli/route/delete_route.rb
vmc-0.4.1 lib/vmc/cli/route/delete_route.rb
vmc-0.4.0 lib/vmc/cli/route/delete_route.rb
vmc-0.4.0.beta.97 vmc-ng/lib/vmc/cli/route/delete_route.rb
vmc-0.4.0.beta.96 vmc-ng/lib/vmc/cli/route/delete_route.rb
vmc-0.4.0.beta.94 vmc-ng/lib/vmc/cli/route/delete_route.rb