Sha256: ccf6cdddf8e0ff0e7d717f37b02b282e0e300c4a641f814ac7b8078c79492d28

Contents?: true

Size: 560 Bytes

Versions: 1

Compression:

Stored size: 560 Bytes

Contents

require 'rack/proxy'
require 'capybara/webmock'

class Capybara::Webmock::Proxy < Rack::Proxy
  PID_FILE = File.join('tmp', 'pids', 'capybara_webmock_proxy.pid')

  def initialize(pid)
    write_pid(pid)
  end

  def perform_request(env)
    request = Rack::Request.new(env)
    if request.host =~ %r{.*\.lvh.me}
      super(env)
    else
      ['200', {'Content-Type' => 'text/html'}, ['']]
    end
  end

  def self.remove_pid
    File.delete(PID_FILE) if File.exists?(PID_FILE)
  end

  private

  def write_pid(pid)
    File.write(PID_FILE, pid)
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
capybara-webmock-0.2.1 lib/capybara/webmock/proxy.rb