From 96684503b091af581a78067342106feef5769a92 Mon Sep 17 00:00:00 2001 From: bootstraponline Date: Wed, 24 Apr 2013 22:18:06 -0400 Subject: [PATCH] Restore top level methods --- lib/appium_lib.rb | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/lib/appium_lib.rb b/lib/appium_lib.rb index bceee7d5..658d2888 100644 --- a/lib/appium_lib.rb +++ b/lib/appium_lib.rb @@ -1,4 +1,29 @@ # encoding: utf-8 + +$last_driver = nil + +# Invoke top level methods on last created Appium driver. +def self.method_missing method, *args, &block + raise "driver is nil. called #{method}" if $last_driver == nil + + has_args = ! args.empty? + has_block = ! block.nil? + + # method with no params + if ! has_args && ! has_block + $last_driver.send method + # method with only arg params + elsif has_args && ! has_block + $last_driver.send method, *args + # method with only block param + elsif ! has_args && has_block + $last_driver.send method, block + # method with arg + block + elsif has_args && has_block + $last_driver.send method, *args, block + end +end + module Appium def self.add_to_path file, path=false path = path ? "../#{path}/" : '..' @@ -10,4 +35,4 @@ def self.add_to_path file, path=false add_to_path __FILE__ require 'appium_lib/driver' -end \ No newline at end of file +end