aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/system_testing/driver_adapter.rb
blob: 47d37a26b7608a38c0ce197f6acd2bf15e4f6a94 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
require 'system_testing/driver_adapters'

module SystemTesting
  module DriverAdapter
    extend ActiveSupport::Concern

    module ClassMethods
      def default_driver
        :capybara_rack_test_driver
      end

      def driver
        @driver ||= DriverAdapters.lookup(default_driver).new
      end

      def driver=(adapter)
        @driver = case adapter
        when Symbol
          DriverAdapters.lookup(adapter).new
        else
          adapter
        end

        @driver.call
      end
    end
  end
end