Sha256: f7b197afac8c5d7d8c3aef7bfee3cb15740f284118531a0c781f2b4cf4b9017c
Contents?: true
Size: 983 Bytes
Versions: 12
Compression:
Stored size: 983 Bytes
Contents
# frozen_string_literal: true module PageMagic # for the benefit of pull review :@ class Element # contains method for finding element definitions module Locators # message used when raising {ElementMissingException} from methods within this module ELEMENT_NOT_DEFINED_MSG = 'Element not defined: %s' # find an element definition based on its name # @param [Symbol] name name of the element # @return [Element] element definition with the given name # @raise [ElementMissingException] raised when element with the given name is not found def element_by_name(name, *args) definition = element_definitions[name] raise ElementMissingException, (ELEMENT_NOT_DEFINED_MSG % name) unless definition definition.call(self, *args) end # @return [Array<Element>] class level defined element definitions def element_definitions self.class.element_definitions end end end end
Version data entries
12 entries across 12 versions & 1 rubygems