module PageObject::JavascriptFrameworkFacade
Provide hooks into different common Javascript
Frameworks. Currently this module only supports jQuery and Prototype but it has the ability for you to plug your own framework into it and therefore have it work with this gem. You do this by calling the add_framework method. The module you provide must implement the necessary methods. Please look at the jQuery or Prototype implementations to determine the necessary methods
Public Class Methods
add_framework(key, value)
click to toggle source
Add a framework and make it available to the system.
# File lib/page-object/javascript_framework_facade.rb, line 42 def add_framework(key, value) raise invalid_framework unless value.respond_to? :pending_requests initialize_script_builder unless @builder @builder[key] = value end
framework()
click to toggle source
Get the framework that will be used
# File lib/page-object/javascript_framework_facade.rb, line 35 def framework @framework end
framework=(framework)
click to toggle source
Set the framework to use.
@param the framework to use. :jquery, :prototype, :yui, and :angularjs are supported
# File lib/page-object/javascript_framework_facade.rb, line 26 def framework=(framework) initialize_script_builder unless @builder raise unknown_framework(framework) unless @builder[framework] @framework = framework end
pending_requests()
click to toggle source
get the javascript to determine number of pending requests
# File lib/page-object/javascript_framework_facade.rb, line 51 def pending_requests script_builder.pending_requests end
script_builder()
click to toggle source
# File lib/page-object/javascript_framework_facade.rb, line 55 def script_builder initialize_script_builder unless @builder @builder[@framework] end
Private Class Methods
initialize_script_builder()
click to toggle source
# File lib/page-object/javascript_framework_facade.rb, line 62 def initialize_script_builder @builder = { :jquery => ::PageObject::Javascript::JQuery, :prototype => ::PageObject::Javascript::Prototype, :yui => ::PageObject::Javascript::YUI, :angularjs => ::PageObject::Javascript::AngularJS } end
invalid_framework()
click to toggle source
# File lib/page-object/javascript_framework_facade.rb, line 75 def invalid_framework "The Javascript framework you provided does not implement the necessary methods" end
unknown_framework(framework)
click to toggle source
# File lib/page-object/javascript_framework_facade.rb, line 71 def unknown_framework(framework) "You specified the Javascript framework #{framework} and it is unknown to the system" end