Class: AutomationObject::State::ElementRequirement

Inherits:
ActionLoop
  • Object
show all
Defined in:
lib/automation_object/state/hook_actions/element_requirement.rb

Overview

Element requirement hook loop

Instance Attribute Summary

Attributes inherited from ActionLoop

#blue_prints, #composite, #driver, #loops

Instance Method Summary collapse

Methods inherited from ActionLoop

#initialize, #run

Constructor Details

This class inherits a constructor from AutomationObject::State::ActionLoop

Instance Method Details

#elementObject



9
10
11
# File 'lib/automation_object/state/hook_actions/element_requirement.rb', line 9

def element
  @element ||= driver.find_element(*blue_prints.element_blueprints.selector_params)
end

#single_runObject



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/automation_object/state/hook_actions/element_requirement.rb', line 13

def single_run
  blue_prints.hook_order.each do |requirement_name|
    next if blue_prints.requirement(requirement_name).nil?

    requirement_value = blue_prints.requirement(requirement_name)

    case requirement_name
    when :exists?
      return false if requirement_value != driver.exists?(*blue_prints.element_blueprints.selector_params)
    else
      return false if requirement_value != element.send(requirement_name)
    end
  end

  true
end