Sha256: ac1d1ecbd934b3b493c6572a9a7fc80c5b4e558402cccd2be544d3151499502f

Contents?: true

Size: 1.27 KB

Versions: 7

Compression:

Stored size: 1.27 KB

Contents

require 'shellwords'

module Aptible
  module CLI
    module Subcommands
      module Logs
        def self.included(thor)
          thor.class_eval do
            include Helpers::Operation
            include Helpers::App
            include Helpers::Database

            desc 'logs', 'Follows logs from a running app or database'
            app_options
            option :database
            def logs
              if options[:app] && options[:database]
                m = 'You must specify only one of --app and --database'
                raise Thor::Error, m
              end

              resource = \
                if options[:database]
                  ensure_database(options.merge(db: options[:database]))
                else
                  ensure_app(options)
                end

              unless resource.status == 'provisioned'
                raise Thor::Error, 'Unable to retrieve logs. ' \
                                   "Have you deployed #{resource.handle} yet?"
              end

              op = resource.create_operation!(type: 'logs', status: 'succeeded')

              ENV['ACCESS_TOKEN'] = fetch_token
              connect_to_ssh_portal(op, '-o', 'SendEnv=ACCESS_TOKEN', '-T')
            end
          end
        end
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
aptible-cli-0.10.0 lib/aptible/cli/subcommands/logs.rb
aptible-cli-0.9.0 lib/aptible/cli/subcommands/logs.rb
aptible-cli-0.8.6 lib/aptible/cli/subcommands/logs.rb
aptible-cli-0.8.5 lib/aptible/cli/subcommands/logs.rb
aptible-cli-0.8.4 lib/aptible/cli/subcommands/logs.rb
aptible-cli-0.8.3 lib/aptible/cli/subcommands/logs.rb
aptible-cli-0.8.2 lib/aptible/cli/subcommands/logs.rb