Skip to content

Commit

Permalink
Use explicit require instead of autoload
Browse files Browse the repository at this point in the history
For thread safety reasons
  • Loading branch information
jnicklas committed Mar 16, 2013
1 parent 53b4b94 commit c3e75f8
Showing 1 changed file with 32 additions and 48 deletions.
80 changes: 32 additions & 48 deletions lib/capybara.rb
Expand Up @@ -287,54 +287,38 @@ def session_pool
self.default_driver = nil
self.current_driver = nil

autoload :DSL, 'capybara/dsl'
autoload :Server, 'capybara/server'
autoload :Session, 'capybara/session'
autoload :Selector, 'capybara/selector'
autoload :Query, 'capybara/query'
autoload :Result, 'capybara/result'
autoload :Helpers, 'capybara/helpers'
autoload :VERSION, 'capybara/version'

module Node
autoload :Base, 'capybara/node/base'
autoload :Simple, 'capybara/node/simple'
autoload :Element, 'capybara/node/element'
autoload :Document, 'capybara/node/document'
autoload :Finders, 'capybara/node/finders'
autoload :Matchers, 'capybara/node/matchers'
autoload :Actions, 'capybara/node/actions'
end

module Driver
autoload :Base, 'capybara/driver/base'
autoload :Node, 'capybara/driver/node'

class Selenium
def initialize(*args)
raise "Capybara::Driver::Selenium has been renamed to Capybara::Selenium::Driver"
end
end

class RackTest
def initialize(*args)
raise "Capybara::Driver::RackTest has been renamed to Capybara::RackTest::Driver"
end
end
end

module RackTest
autoload :Driver, 'capybara/rack_test/driver'
autoload :Node, 'capybara/rack_test/node'
autoload :Form, 'capybara/rack_test/form'
autoload :Browser, 'capybara/rack_test/browser'
autoload :CSSHandlers, 'capybara/rack_test/css_handlers.rb'
end

module Selenium
autoload :Node, 'capybara/selenium/node'
autoload :Driver, 'capybara/selenium/driver'
end
module Driver; end
module RackTest; end
module Selenium; end

require 'capybara/session'
require 'capybara/dsl'
require 'capybara/server'
require 'capybara/selector'
require 'capybara/query'
require 'capybara/result'
require 'capybara/helpers'
require 'capybara/version'

require 'capybara/node/finders'
require 'capybara/node/matchers'
require 'capybara/node/actions'
require 'capybara/node/simple'
require 'capybara/node/base'
require 'capybara/node/element'
require 'capybara/node/document'

require 'capybara/driver/base'
require 'capybara/driver/node'

require 'capybara/rack_test/driver'
require 'capybara/rack_test/node'
require 'capybara/rack_test/form'
require 'capybara/rack_test/browser'
require 'capybara/rack_test/css_handlers.rb'

require 'capybara/selenium/node'
require 'capybara/selenium/driver'
end

Capybara.configure do |config|
Expand Down

0 comments on commit c3e75f8

Please sign in to comment.