# frozen_string_literal: true require "thor" # TODO: make this like neetob module NeetoDeploy class CLI < Thor require_relative "cli/base" require_relative "cli/login/base" require_relative "cli/exec/base" require_relative "cli/logs/base" require_relative "cli/config/commands" require_relative "cli/redis/commands" def self.start(*) super end desc "login", "Login" def login CLI::Login::Base.new.process! end desc "config", "Manage config vars" subcommand "config", Config::Commands desc "exec", "Exec into deployment" option :app, type: :string, aliases: "-a", required: true, desc: "App slug" def exec CLI::Exec::Base.new(options[:app]).process! end desc "logs", "Show logs" option :app, type: :string, aliases: "-a", required: true, desc: "App slug" option :process_type, type: :string, aliases: "-p", desc: "Process type" def logs CLI::Logs::Base.new(options[:app], options[:process_type]).process! end desc "redis", "Manage redis addons" subcommand "redis", Redis::Commands end end