module PageMagic
module PageMagic
- PageMagic
is an api for modelling pages in a website.
Constants
- VERSION
Public Class Methods
drivers()
click to toggle source
@return [Drivers] registered drivers
# File lib/page_magic.rb, line 28 def drivers @drivers ||= Drivers.new.tap(&:load) end
included(clazz)
click to toggle source
# File lib/page_magic.rb, line 32 def included(clazz) clazz.class_eval do include(InstanceMethods) extend ClassMethods extend Elements end end
mapping(path = nil, parameters: nil, fragment: nil)
click to toggle source
Create a more complex mapping to identify when a page should be loaded @example
PageMagic.mapping '/', parameters: {project: 'page_magic'}, fragment: 'display'
@see Matchers#initialize
# File lib/page_magic.rb, line 44 def mapping(path = nil, parameters: nil, fragment: nil) Mapping.new(path, parameters: parameters, fragment: fragment) end
session(session: nil, url: nil, application: nil, browser: :rack_test, options: {})
click to toggle source
Visit this page based on the class level registered url @param [Object] application rack application (optional) @param [Symbol] browser name of browser @param [String] url url to start the session on @param [Hash] options browser driver specific options @param [Capybara::Session] session - use you own already configure capybara session e.g. Capybara.current_session @return [Session] configured session
# File lib/page_magic.rb, line 55 def session(session: nil, url: nil, application: nil, browser: :rack_test, options: {}) session ||= begin driver = drivers.find(browser) raise UnsupportedBrowserException unless driver Capybara.register_driver browser do |app| driver.build(app, browser: browser, options: options) end Capybara::Session.new(browser, application) end Session.new(session, url) end