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