Class: Teaspoon::Server

Inherits:
Object
  • Object
show all
Defined in:
lib/teaspoon/server.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeServer

Returns a new instance of Server.



10
11
12
# File 'lib/teaspoon/server.rb', line 10

def initialize
  @port = Teaspoon.configuration.server_port || find_available_port
end

Instance Attribute Details

#portObject

Returns the value of attribute port.



8
9
10
# File 'lib/teaspoon/server.rb', line 8

def port
  @port
end

Instance Method Details

#responsive?Boolean

Returns:

  • (Boolean)


25
26
27
28
29
30
# File 'lib/teaspoon/server.rb', line 25

def responsive?
  TCPSocket.new("127.0.0.1", port).close
  true
rescue Errno::ECONNREFUSED, Errno::EHOSTUNREACH
  false
end

#startObject



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

def start
  thread = Thread.new do
    disable_logging
    server = Rack::Server.new(rack_options)
    server.start
  end
  wait_until_started(thread)
rescue => e
  raise Teaspoon::ServerException, "Cannot start server: #{e.message}"
end

#urlObject



32
33
34
# File 'lib/teaspoon/server.rb', line 32

def url
  "http://127.0.0.1:#{port}"
end