class Superbot::Cloud::CLI::Webdriver::ListCommand

Constants

OUTPUT_HEADERS

Public Instance Methods

execute() click to toggle source
# File lib/superbot/cloud/cli/webdriver/list_command.rb, line 17
def execute
  list_sessions
end
list_sessions() click to toggle source
# File lib/superbot/cloud/cli/webdriver/list_command.rb, line 21
def list_sessions
  states = all? ? nil : %w[idle proxying]
  api_response = Superbot::Cloud::Api.request(:webdriver_session_list, params: { organization_name: organization, 'aasm_state[]': states })
  abort "No active sessions found for #{api_response[:organization]} organization" if api_response[:webdriver_sessions].empty?

  if quiet?
    puts(api_response[:webdriver_sessions].map { |session| session[:session_id] })
  else
    puts "Organization: #{api_response[:organization]}"
    puts OUTPUT_HEADERS.values.map { |header| header.ljust(35) }.join
    puts ''.ljust(35 * OUTPUT_HEADERS.length, '-')
    api_response[:webdriver_sessions].each do |webdriver_session|
      puts webdriver_session.slice(*OUTPUT_HEADERS.keys).values.map { |v| v.to_s.ljust(35) }.join
    end
  end
end