Sha256: 07098c772b4fd34b6e20eeb2eaf5db48595e9937f36fec6b80891dcbc68fab38

Contents?: true

Size: 821 Bytes

Versions: 4

Compression:

Stored size: 821 Bytes

Contents

module Webrat
  module Selenium

    class SinatraApplicationServer < ApplicationServer

      def start
        fork do
          File.open('rack.pid', 'w') { |fp| fp.write Process.pid }
          exec 'rackup', File.expand_path(Dir.pwd + '/config.ru'), '-p', Webrat.configuration.application_port.to_s
        end
      end

      def stop
        silence_stream(STDERR) do
          silence_stream(STDOUT) do
            pid = File.read(pid_file)
            system("kill -9 #{pid}")
            FileUtils.rm_f pid_file
          end
        end
      end

      def fail
        $stderr.puts
        $stderr.puts
        $stderr.puts "==> Failed to boot the Sinatra application server... exiting!"
        exit
      end

      def pid_file
        prepare_pid_file(Dir.pwd, 'rack.pid')
      end

    end

  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
jwilger-webrat-0.4.4.2 lib/webrat/selenium/sinatra_application_server.rb
jwilger-webrat-0.4.4.3 lib/webrat/selenium/sinatra_application_server.rb
jwilger-webrat-0.4.4.4 lib/webrat/selenium/sinatra_application_server.rb
jwilger-webrat-0.4.4.5 lib/webrat/selenium/sinatra_application_server.rb