module Kontena::Plugin::Packet::TypeOption
Public Class Methods
included(base)
click to toggle source
# File lib/kontena/plugin/packet/type_option.rb, line 4 def self.included(base) base.option "--type", "SLUG", "Packet server plan type", attribute_name: :plan base.class_eval do def default_plan require 'packet' client = Packet::Client.new(self.token || (self.respond_to?(:default_token) && self.default_token)) plans = [] spinner "Retrieving a list of available plans at Packet" do plans = client.list_plans end case plans.size when 0 abort 'You do not have access to any plans on Packet' when 1 unless Kontena.prompt.yes?("You have access to plan '#{plans.first.name}'. Use?") abort 'Aborted' end plans.first.slug else puts puts pastel.bright_blue("Packet plans:") puts plans.each do |plan| puts pastel.green(" #{"%-11s" % "#{plan.name}:"}") puts pastel.bright_blue(" #{plan.description}") end puts Kontena.prompt.select "Packet plan:" do |menu| plans.each do |plan| menu.choice plan.name, plan.slug end end end end end end
Public Instance Methods
default_plan()
click to toggle source
# File lib/kontena/plugin/packet/type_option.rb, line 7 def default_plan require 'packet' client = Packet::Client.new(self.token || (self.respond_to?(:default_token) && self.default_token)) plans = [] spinner "Retrieving a list of available plans at Packet" do plans = client.list_plans end case plans.size when 0 abort 'You do not have access to any plans on Packet' when 1 unless Kontena.prompt.yes?("You have access to plan '#{plans.first.name}'. Use?") abort 'Aborted' end plans.first.slug else puts puts pastel.bright_blue("Packet plans:") puts plans.each do |plan| puts pastel.green(" #{"%-11s" % "#{plan.name}:"}") puts pastel.bright_blue(" #{plan.description}") end puts Kontena.prompt.select "Packet plan:" do |menu| plans.each do |plan| menu.choice plan.name, plan.slug end end end end