Method: PageMagic::ElementContext#method_missing

Defined in:
lib/page_magic/element_context.rb

#method_missing(method, *args, &block) ⇒ Object, ...

acts as proxy to element defintions defined on @page_element

Returns:

  • result of callng method on page_element

  • animated page element containing located browser element

  • array of elements if more that one result was found the browser



17
18
19
20
21
22
23
24
25
26
27
# File 'lib/page_magic/element_context.rb', line 17

def method_missing(method, *args, &block)
  return page_element.send(method, *args, &block) if page_element.methods.include?(method)

  builder = page_element.element_by_name(method, *args)

  prefecteched_element = builder.element
  return builder.build(prefecteched_element) if prefecteched_element

  elements = find(builder)
  elements.size == 1 ? elements.first : elements
end