class CypressRails::StartsRailsServer
Public Instance Methods
call(host:, port:, transactional_server:)
click to toggle source
# File lib/cypress-rails/starts_rails_server.rb, line 6 def call(host:, port:, transactional_server:) configure_rails_to_run_our_state_reset_on_every_request!(transactional_server) app = create_rack_app Server.new(app, host: host, port: port).tap do |server| server.boot end end
configure_rails_to_run_our_state_reset_on_every_request!(transactional_server)
click to toggle source
# File lib/cypress-rails/starts_rails_server.rb, line 14 def configure_rails_to_run_our_state_reset_on_every_request!(transactional_server) Rails.application.executor.to_run do TracksResets.instance.reset_state_if_needed(transactional_server) end end
create_rack_app()
click to toggle source
# File lib/cypress-rails/starts_rails_server.rb, line 20 def create_rack_app Rack::Builder.new do map "/cypress_rails_reset_state" do run lambda { |env| TracksResets.instance.reset_needed! [202, {"Content-Type" => "text/plain"}, ["Accepted"]] } end map "/" do run Rails.application end end end