require 'rubygems' require 'cli/command' require 'cli/server_task' require 'cli/workflow_task' require 'cli/credential_task' module Factor module CLI class FactorTask < Command desc "register","register a new account" method_option :email, :alias=>"-e", :type=>:string, :desc=>"Email address you would like to use for new account" method_option :password, :alias=>"-p", :type=>:string, :desc=>"Password you would like to use for new account" def register email = options[:email]==nil ? ask("Email address:") : options[:email] password = options[:password]==nil ? ask("Password:") : options[:password] # register with email/password end desc "login", "login to the account" method_option :email, :alias=>"-u", :type=>:string, :desc=>"Account email address" method_option :password, :alias=>"-p", :type=>:string, :desc=>"Account password" def login email = options[:email]==nil ? ask("Email address:") : options[:email] password = options[:password]==nil ? ask("Password:") : options[:password] #login with email/password end desc "token", "login with token" method_option :email, :alias=>"-e", :type=>:string, :desc=>"Email address for Factor account", :required=>true method_option :token, :alias=>"-t", :type=>:string, :desc=>"Token value to set", :required=>true def token config = get_config config[:token]=options[:token] config[:email]=options[:email] save_config(config) end end end end Factor::CLI::FactorTask.register(Factor::CLI::ServerTask, "server","server","start and list servers") Factor::CLI::FactorTask.register(Factor::CLI::WorkflowTask,"workflow","workflow","start and list workflows") Factor::CLI::FactorTask.register(Factor::CLI::ChannelTask,"channel","channel","install,uninstall, list channels")