lib/teaspoon/server.rb in teaspoon-1.1.1 vs lib/teaspoon/server.rb in teaspoon-1.1.2

- old
+ new

@@ -2,13 +2,14 @@ require "timeout" require "webrick" module Teaspoon class Server - attr_accessor :port + attr_accessor :port, :host def initialize + @host = Teaspoon.configuration.server_host || "127.0.0.1" @port = Teaspoon.configuration.server_port || find_available_port end def start return if responsive? @@ -22,18 +23,18 @@ rescue => e raise Teaspoon::ServerError.new(desc: e.message) end def responsive? - TCPSocket.new("127.0.0.1", port).close + TCPSocket.new(host, port).close true rescue Errno::ECONNREFUSED, Errno::EHOSTUNREACH false end def url - "http://127.0.0.1:#{port}" + "http://#{host}:#{port}" end protected def wait_until_started(thread) @@ -52,19 +53,20 @@ end def rack_options { app: Rails.application, + Host: host, Port: port, environment: "test", AccessLog: [], Logger: Rails.logger, server: Teaspoon.configuration.server } end def find_available_port - server = TCPServer.new("127.0.0.1", 0) + server = TCPServer.new(host, 0) server.addr[1] ensure server.close if server end end