From 4e2fa0a279d09b3ebc2b22b23302d1be8aa8add3 Mon Sep 17 00:00:00 2001 From: Jarmo Pertman Date: Sat, 5 Oct 2013 14:46:21 +0300 Subject: [PATCH] Add support for watir-classic 4.0. --- watir/lib/watir/loader.rb | 19 +++++++------------ watir/watir.gemspec | 2 +- 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/watir/lib/watir/loader.rb b/watir/lib/watir/loader.rb index e499722..31665ec 100644 --- a/watir/lib/watir/loader.rb +++ b/watir/lib/watir/loader.rb @@ -2,18 +2,14 @@ module Watir class Browser - class << self - - def new(browser=nil, *args) - load_driver_for browser - - # remove this class method to avoid endless loop - singleton_class = class << self; self end - singleton_class.send :remove_method, :new + def initialize(browser=nil, *args) + self.class.load_driver_for browser - new browser.nil? && Watir.driver == :webdriver ? :firefox : browser, *args - end + # execute just loaded driver's #initialize + initialize browser.nil? && Watir.driver == :webdriver ? :firefox : browser, *args + end + class << self def start(url, browser=nil, *args) load_driver_for browser @@ -26,11 +22,10 @@ def start(url, browser=nil, *args) def method_missing(name, *args, &block) Watir.load_driver + return super unless respond_to? name send name, *args, &block end - private - def load_driver_for(browser) if browser && browser.respond_to?(:to_sym) && browser.to_sym != :ie && Watir.driver == :classic Watir.driver = :webdriver diff --git a/watir/watir.gemspec b/watir/watir.gemspec index 35076dc..0efcf8f 100644 --- a/watir/watir.gemspec +++ b/watir/watir.gemspec @@ -20,6 +20,6 @@ Gem::Specification.new do |s| if ENV["build_for_windows"] s.platform = Gem::Platform::MINGW - s.add_dependency "watir-classic", "~> 3.2" + s.add_dependency "watir-classic", "~> 4.0" end end