module SitePrism::Loadable::ClassMethods

Public Instance Methods

load_validation(&block) click to toggle source

Appends a load validation block to the page class.

When `loaded?` is called, these blocks are instance_eval'd against the current page instance. This allows users to wait for specific events to occur on the page or certain elements to be loaded before performing any actions on the page.

@param block [&block] A block which returns true if the page loaded successfully, or false if it did not. This block can contain up to 2 elements in an array The first is the physical validation test to be truthily evaluated.

If this does not pass, then the 2nd item (if defined), is output as an error message to the FailedLoadValidationError that is thrown

# File lib/site_prism/loadable.rb, line 40
def load_validation(&block)
  _load_validations << block
end
load_validations() click to toggle source

The list of load_validations. They will be executed in the order they are defined.

@return [Array]

# File lib/site_prism/loadable.rb, line 17
def load_validations
  if superclass.respond_to?(:load_validations)
    superclass.load_validations + _load_validations
  else
    _load_validations
  end
end

Private Instance Methods

_load_validations() click to toggle source
# File lib/site_prism/loadable.rb, line 46
def _load_validations
  @_load_validations ||= []
end