require 'rubygems' require 'cli/command' module Factor module CLI class ServerTask < Command desc "start", "start the server" method_option :tags, :alias=>"-t", :type=>:hash, :desc=>"Optional tags to identify from workflow" def start engine = Factor::Runtime::Engine.new(get_config[:email],get_config[:token]) options.tags.each {|tag,value| engine.tag(tag,value)} if options.tags? puts "loading channels" engine = @client.load_channels(engine) do |message| puts " #{message}" end puts "loading channels complete" puts "loading workflows" engine = @client.load_workflows(engine) do |message| puts " #{message}" end puts "loading workflows complete" puts "loading credentials" engine = @client.load_credentials(engine) do |message| puts " #{message}" end puts "loading credentials complete" puts "starting the server..." engine.start end desc "list", "list all the running servers" def list puts "listing all servers" end desc "logs", "listen to incoming logs" def logs engine = Factor::Runtime::Engine.new(get_config[:email],get_config[:token]) puts "Listening..." engine.logs do |message| puts "[#{message.route}] #{message.body}" end end end end end