Sha256: 6f92998fbb203df0bd72b345d755c2017b6ca4fb5e61059f6ba819c6121f1b21

Contents?: true

Size: 951 Bytes

Versions: 1

Compression:

Stored size: 951 Bytes

Contents

require 'thor'
require 'json'
require 'aptible/auth'

require_relative 'helpers/token'
require_relative 'helpers/operation'
require_relative 'helpers/app'

require_relative 'subcommands/config'

module Aptible
  module CLI
    class Agent < Thor
      include Thor::Actions

      include Helpers::Token
      include Subcommands::Config

      desc 'version', 'Print Aptible CLI version'
      def version
        puts "aptible-cli v#{Aptible::CLI::VERSION}"
      end

      desc 'login', 'Log in to Aptible'
      def login
        email = ask('Email: ')
        password = ask('Password: ', echo: false)
        puts ''

        begin
          token = Aptible::Auth::Token.create(email: email, password: password)
        rescue OAuth2::Error
          raise Thor::Error, 'Could not authenticate with given credentials'
        end

        save_token(token.access_token)
        puts "Token written to #{token_file}"
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
aptible-cli-0.2.0 lib/aptible/cli/agent.rb