Module: NeetoDeploy::CLI::Session
- Included in:
- Addon::Info, Addon::ScheduledExportsSettings, AutoscalingConfig::List, Certificates::List, Env::List, Env::Set, Env::Unset, Exec::Base, Logs::Base, Pg::Console, Redis::Console, Redis::Get, Redis::ResetStats, Redis::Set
- Defined in:
- lib/neeto_deploy/cli/session.rb
Defined Under Namespace
Classes: Error
Constant Summary collapse
- CONSOLE_EXECUTABLE =
{ mac: "console-linux-arm64", linux: "console-linux-amd64" }.freeze
Class Method Summary collapse
Instance Method Summary collapse
- #common_body ⇒ Object
- #console_executable_name ⇒ Object
- #headers ⇒ Object
- #os ⇒ Object
- #send_delete_request(url, body) ⇒ Object
- #send_get_request(url, body) ⇒ Object
- #send_patch_request(url, body) ⇒ Object
- #send_post_request(url, body) ⇒ Object
- #session_token ⇒ Object
Class Method Details
.require_app_option ⇒ Object
17 18 19 |
# File 'lib/neeto_deploy/cli/session.rb', line 17 def self.require_app_option option :app, type: :string, aliases: "-a", required: true, desc: "App slug" end |
Instance Method Details
#common_body ⇒ Object
37 38 39 40 41 42 |
# File 'lib/neeto_deploy/cli/session.rb', line 37 def common_body session_info = JSON.parse(File.read(CLI_SESSION_STORE_FILE_PATH)) { session_token: session_info["session_token"] } rescue raise Error.new("Unable to retrieve session info. Try logging in again.") end |
#console_executable_name ⇒ Object
68 69 70 |
# File 'lib/neeto_deploy/cli/session.rb', line 68 def console_executable_name CONSOLE_EXECUTABLE[os] end |
#headers ⇒ Object
50 51 52 |
# File 'lib/neeto_deploy/cli/session.rb', line 50 def headers { "Session-Token" => session_token } end |
#os ⇒ Object
54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/neeto_deploy/cli/session.rb', line 54 def os @os ||= ( host_os = RbConfig::CONFIG["host_os"] case host_os when /darwin|mac os/ :mac when /linux/ :linux else raise Error::WebDriverError, "unsupported os: #{host_os.inspect}" end ) end |
#send_delete_request(url, body) ⇒ Object
33 34 35 |
# File 'lib/neeto_deploy/cli/session.rb', line 33 def send_delete_request(url, body) HTTParty.delete(url, headers:, body:, format: :json) end |
#send_get_request(url, body) ⇒ Object
21 22 23 |
# File 'lib/neeto_deploy/cli/session.rb', line 21 def send_get_request(url, body) HTTParty.get(url, headers:, body:, format: :json) end |
#send_patch_request(url, body) ⇒ Object
29 30 31 |
# File 'lib/neeto_deploy/cli/session.rb', line 29 def send_patch_request(url, body) HTTParty.patch(url, headers:, body:, format: :json) end |
#send_post_request(url, body) ⇒ Object
25 26 27 |
# File 'lib/neeto_deploy/cli/session.rb', line 25 def send_post_request(url, body) HTTParty.post(url, headers:, body:, format: :json) end |
#session_token ⇒ Object
44 45 46 47 48 |
# File 'lib/neeto_deploy/cli/session.rb', line 44 def session_token JSON.parse(File.read(CLI_SESSION_STORE_FILE_PATH))["session_token"] rescue raise Error.new("Unable to retrieve session token. Try logging in again.") end |