Class: Superbot::CLI::Cloud::Webdriver::ListCommand
- Inherits:
-
Clamp::Command
- Object
- Clamp::Command
- Superbot::CLI::Cloud::Webdriver::ListCommand
- Includes:
- Superbot::Cloud::Validations
- Defined in:
- lib/superbot/cloud/cli/cloud/webdriver/list_command.rb
Constant Summary collapse
- OUTPUT_HEADERS =
{ session_id: "Session ID", created_at: "Created at", updated_at: "Last activity" }.freeze
Instance Method Summary collapse
Methods included from Superbot::Cloud::Validations
Instance Method Details
#execute ⇒ Object
18 19 20 21 |
# File 'lib/superbot/cloud/cli/cloud/webdriver/list_command.rb', line 18 def execute require_login list_sessions end |
#list_sessions ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/superbot/cloud/cli/cloud/webdriver/list_command.rb', line 23 def list_sessions states = all? ? nil : %w[idle proxying] api_response = Superbot::Cloud::Api.request(:webdriver_session_list, params: { 'aasm_state[]': states }) abort api_response[:error] if api_response[:error] abort "No sessions found" if api_response[:webdriver_sessions].empty? if quiet? puts(api_response[:webdriver_sessions].map { |session| session[:session_id] }) else 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 |