Module: Spurious::Server

Defined in:
lib/spurious/server.rb,
lib/spurious/server/app.rb,
lib/spurious/server/config.rb,
lib/spurious/server/options.rb,
lib/spurious/server/version.rb,
lib/spurious/server/state/base.rb,
lib/spurious/server/state/init.rb,
lib/spurious/server/state/stop.rb,
lib/spurious/server/state/error.rb,
lib/spurious/server/state/ports.rb,
lib/spurious/server/state/start.rb,
lib/spurious/server/state/delete.rb,
lib/spurious/server/state/factory.rb

Defined Under Namespace

Modules: State Classes: App, Config, Options

Constant Summary collapse

TIMEOUT =
5
SHELL_RED =
"\e[31m"
SHELL_GREEN =
"\e[32m"
SHELL_CLEAR =
"\e[0m"
VERSION =
"0.5.2"

Class Method Summary collapse

Class Method Details

.docker_daemon_available?(daemon_action) ⇒ Boolean

Returns:

  • (Boolean)


13
14
15
16
17
18
19
20
21
22
23
# File 'lib/spurious/server.rb', line 13

def self.docker_daemon_available?(daemon_action)
  if daemon_action == 'start'
    puts "#{SHELL_GREEN} Checking docker daemon is available...#{SHELL_CLEAR}"
    Excon.defaults[:connect_timeout] = Excon.defaults[:read_timeout] = TIMEOUT
    !Docker.info.nil?
  end
  true
rescue Excon::Errors::SocketError, Excon::Errors::Timeout, Docker::Error::TimeoutError => e
  puts "#{SHELL_RED} Connecting to the docker daemon (#{ENV["DOCKER_HOST"]}) failed... Check that it's running"
  exit -1
end

.handle(options) ⇒ Object



25
26
27
28
29
30
31
32
33
34
# File 'lib/spurious/server.rb', line 25

def self.handle(options)
  Proc.new do
    EventMachine.start_server(
      options.server_ip,
      options.server_port,
      Spurious::Server::App,
      options
    )
  end
end