class CfScript::Command::General::LoginCommand

Public Class Methods

new() click to toggle source
Calls superclass method CfScript::Command::Base::new
# File lib/cf_script/command/cf/general/login.rb, line 3
def initialize
  super(:general, :login)
end

Public Instance Methods

run(username, password, options = {}) { |logged_in| ... } click to toggle source
# File lib/cf_script/command/cf/general/login.rb, line 7
def run(username, password, options = {}, &block)
  args = [{ u: username, p: password }]

  if options[:api]
    args.last[:a] = options[:api]
  end

  if options[:org]
    args.last[:o] = options[:org]
  end

  if options[:space]
    args.last[:s] = options[:space]
  end

  run_cf self, *args do |output|
    unless good_run?(output, check_failed: false)
      if output.credentials_rejected?
        error 'Credentials were rejected'
      else
        output.dump
      end

      return false
    else
      if logged_in = output.authenticated?
        block_given? ? yield(logged_in) : logged_in
      else
        error 'Not logged in'
        return false
      end
    end
  end
end