Sha256: fe8a50a1ec89a4144e882922bb54fb6cefae79b2babb6cd907b6b3277d6b75c0

Contents?: true

Size: 1.08 KB

Versions: 9

Compression:

Stored size: 1.08 KB

Contents

module Kontena::Plugin::Packet
  module ProjectOption

    def self.included(base)
      base.option "--project", "PROJECT_ID", "Packet project ID", environment_variable: 'PACKET_PROJECT'
      base.class_eval do
        def default_project
          require 'packet'

          client = Packet::Client.new(self.token || (self.respond_to?(:default_token) && self.default_token))

          projects = []
          spinner "Retrieving a list of available projects on Packet" do
            projects = client.list_projects
          end

          case projects.size
          when 0
            abort 'You do not have access to any projects on Packet'
          when 1
            unless Kontena.prompt.yes?("You have access to project '#{projects.first.name}'. Use?")
              abort 'Aborted'
            end
            projects.first.id
          else
            Kontena.prompt.select "Packet project:" do |menu|
              projects.each do |project|
                menu.choice project.name, project.id
              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/project_option.rb
kontena-plugin-packet-0.2.7.rc1 lib/kontena/plugin/packet/project_option.rb
kontena-plugin-packet-0.2.6 lib/kontena/plugin/packet/project_option.rb
kontena-plugin-packet-0.2.5 lib/kontena/plugin/packet/project_option.rb
kontena-plugin-packet-0.2.4 lib/kontena/plugin/packet/project_option.rb
kontena-plugin-packet-0.2.3 lib/kontena/plugin/packet/project_option.rb
kontena-plugin-packet-0.2.2 lib/kontena/plugin/packet/project_option.rb
kontena-plugin-packet-0.2.1 lib/kontena/plugin/packet/project_option.rb
kontena-plugin-packet-0.2.0 lib/kontena/plugin/packet/project_option.rb