Sha256: dbedb902bbbe08a39c3a83f0252acc7da42c747e36479de1e9a2aaf4af833c5e
Contents?: true
Size: 1.89 KB
Versions: 2
Compression:
Stored size: 1.89 KB
Contents
# frozen_string_literal: true require "thor" require "readline" require_relative "../session" require_relative "./constants" require_relative "../dyno_console_manager" module NeetoDeploy class CLI module Exec class Base < CLI::Base include Constants include Session attr_reader :app_name def initialize(app_name) super() @app_name = app_name end def process! start_spinner send_console_session_request ui.error("\n#{@response.body}") and return unless @response.success? start_console connection_cleanup_callback end private def console_executable_path gem_spec = Gem::Specification.find_by_name("neetodeploy") gem_dir = gem_spec.gem_dir executable_path = File.join(gem_dir, "exe", "console") end def start_console @pubsub_token = @response.parsed_response["console_pubsub_token"] console_access_token = @response.parsed_response["console_access_token"] pod_name = "#{app_name}-#{@pubsub_token}-console-deployment" container_name = "#{app_name}-#{@pubsub_token}-console" system("#{console_executable_path} -podname #{pod_name} -token #{console_access_token} -container #{container_name}") end def send_console_session_request @response = send_post_request(console_session_base_url, { app_slug: @app_name }) @spinner.stop end def connection_cleanup_callback url = "#{console_session_base_url}/#{app_name}" send_delete_request(url, { pubsub_token: @pubsub_token }) end def start_spinner @spinner = TTY::Spinner.new("Setting up dyno [:spinner]", format: :classic) @spinner.auto_spin end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
neetodeploy-1.1.12 | lib/neeto_deploy/cli/exec/base.rb |
neetodeploy-1.1.11 | lib/neeto_deploy/cli/exec/base.rb |