Sha256: d7b0b9e4cbab72dee916170d04666b224fb5ea25055996831d1fa16d7a6cdacb

Contents?: true

Size: 1.25 KB

Versions: 9

Compression:

Stored size: 1.25 KB

Contents

module Kontena::Plugin::Packet
  module FacilityOption

    def self.included(base)
      base.option "--facility", "CODE", "Packet facility"
      base.class_eval do
        def default_facility
          require 'packet'
          client = Packet::Client.new(self.token || (self.respond_to?(:default_token) && self.default_token))

          facilities = []
          spinner "Retrieving a list of available facilities at Packet" do
            facilities = client.list_facilities
          end

          case facilities.size
          when 0
            abort 'You do not have access to any facilities on Packet'
          when 1
            unless Kontena.prompt.yes?("You have access to facility '#{facilities.first.name}'. Use?")
              abort 'Aborted'
            end
            facilities.first.code
          else
            Kontena.prompt.select "Packet facility:" do |menu|
              facilities.each do |facility|
                if facility.features.empty?
                  feats = ""
                else
                  feats = "(#{facility.features.join(',')})"
                end
                menu.choice "#{facility.name} #{feats}", facility.code
              end
            end
          end
        end
      end
    end
  end
end



Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
kontena-plugin-packet-0.2.7 lib/kontena/plugin/packet/facility_option.rb
kontena-plugin-packet-0.2.7.rc1 lib/kontena/plugin/packet/facility_option.rb
kontena-plugin-packet-0.2.6 lib/kontena/plugin/packet/facility_option.rb
kontena-plugin-packet-0.2.5 lib/kontena/plugin/packet/facility_option.rb
kontena-plugin-packet-0.2.4 lib/kontena/plugin/packet/facility_option.rb
kontena-plugin-packet-0.2.3 lib/kontena/plugin/packet/facility_option.rb
kontena-plugin-packet-0.2.2 lib/kontena/plugin/packet/facility_option.rb
kontena-plugin-packet-0.2.1 lib/kontena/plugin/packet/facility_option.rb
kontena-plugin-packet-0.2.0 lib/kontena/plugin/packet/facility_option.rb