class Spurious::App
Public Class Methods
new(*args)
click to toggle source
Calls superclass method
# File lib/spurious/app.rb, line 16 def initialize(*args) super end
state_methods()
click to toggle source
# File lib/spurious/app.rb, line 20 def self.state_methods methods = { :init => { :aliases => [] }, :start => { :aliases => ["up", "boot"] }, :update => { :aliases => [] }, :stop => { :aliases => ["down", "halt"] }, :delete => { :aliases => [] } } methods.each do |meth, options| desc meth.to_s, "#{meth} the spurious containers" define_method(meth) do event_loop meth end unless options[:aliases].empty? then options[:aliases].each do |alias_meth| desc alias_meth, "alias for `spurious #{meth}`" define_method(alias_meth) do event_loop meth end end end end end
Public Instance Methods
ports()
click to toggle source
# File lib/spurious/app.rb, line 59 def ports if server_available? then EventMachine.run do EventMachine::connect options[:server_ip], options[:server_port], Spurious::Command::Ports, :ports, self end end end
Protected Instance Methods
event_loop(type)
click to toggle source
# File lib/spurious/app.rb, line 97 def event_loop(type) if server_available? then EventMachine.run do EventMachine::connect options[:server_ip], options[:server_port], Spurious::Command::State, type, self end end end
server_available?()
click to toggle source
# File lib/spurious/app.rb, line 70 def server_available? available = true Timeout.timeout(1) do begin TCPSocket.new(options[:server_ip], options[:server_port]) rescue Exception available = false say <<-eos #{set_color("Connection to spurious server: #{options[:server_ip]}:#{options[:server_port]} has timed out.", :red)} #{set_color('To check the status of the server, run:', :white)} #{set_color('$ spurious-server status', :cyan)} #{set_color('To start the server, run:', :white)} #{set_color('$ spurious-server start', :cyan)} eos end end available end