lib/magellan/cli/command.rb in magellan-cli-0.2.19 vs lib/magellan/cli/command.rb in magellan-cli-0.3.0

- old
+ new

@@ -4,26 +4,30 @@ require 'active_support/core_ext/string/inflections' module Magellan module Cli class Command < Base + include Magellan::Cli::FileAccess class << self # override Thor::Base.start method def start(given_args = ARGV, config = {}) # class_options verbose and version are defined in Magellan::Cli::Base - if ARGV.include?("-v") || ARGV.include?("--version") - info(File.basename($0) << " " << Magellan::Cli::VERSION) + if (ARGV == ["-v"] || ARGV == ["--version"]) + log_info(File.basename($0) << " " << Magellan::Cli::VERSION) + exit(0) + elsif ARGV.include?("-v") || ARGV.include?("--version") + log_info(File.basename($0) << " " << Magellan::Cli::VERSION) end begin super(given_args, config) rescue Magellan::Cli::Error => e - error(e.message) + log_error(e.message) exit(1) rescue => e - error("[#{e.class}] #{e.message}") - verbose(" " << e.backtrace.join("\n "), ARGV.include?("-V") || ARGV.include?("--verbose")) + log_error("[#{e.class}] #{e.message}") + log_verbose(" " << e.backtrace.join("\n "), ARGV.include?("-V") || ARGV.include?("--verbose")) exit(1) end end # overwrite Magellan::Cli::Base.help method @@ -62,9 +66,24 @@ password = STDIN.noecho(&:gets).chomp puts "" end Magellan::Cli::Http.new.login!(email, password) + end + + desc "info", "Show login user and selected resources" + def info + cli = Magellan::Cli::Login.new + cli.check_login_auth! + selections = load_selections || {} + d = {"user" => cli.login_auth["email"] } + Resources::MAPPING.each do |classname, name| + klass = ::Magellan::Cli::Resources.const_get(classname) + if val = selections[ klass.parameter_name ] + d[name] = val["name"] ? val["name"] : val.inspect + end + end + log_info YAML.dump(d) end end end end