Sha256: 7adf63f73f1355e50fb1f0cb2e6cf03f68ac23cf144d49b0bd2bf2988aa0009d

Contents?: true

Size: 438 Bytes

Versions: 1

Compression:

Stored size: 438 Bytes

Contents

require 'timeout'

class WaitForSolr < Struct.new(:port, :timeout)
  def self.on(port, timeout, &block)
    new(port, timeout).wait &block
  end

  def self.running_on?(port)
    new(port).responding?
  end

  def wait
    Timeout.timeout timeout do
      until responding?
        yield
        sleep 1
      end
    end
  end

  def responding?
    system %(curl -o /dev/null "http://localhost:#{port}/solr" > /dev/null 2>&1)
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
calagator-1.1.0 lib/wait_for_solr.rb