class SitePrism::RecursionChecker
Attributes
instance[R]
Public Class Methods
new(instance)
click to toggle source
# File lib/site_prism/recursion_checker.rb, line 9 def initialize(instance) @instance = instance end
Public Instance Methods
all_there?()
click to toggle source
# File lib/site_prism/recursion_checker.rb, line 13 def all_there? regular_items_all_there = expected_item_map.flatten.all? { |name| there?(name) } return false unless regular_items_all_there section_all_there = section_classes_to_check.all?(&:all_there?) return false unless section_all_there # Returning this final check here is fine, as the previous two checks must # have returned +true+ in order to hit this part of the method-call sections_classes_to_check.all?(&:all_there?) end
expected(_map, type)
click to toggle source
# File lib/site_prism/recursion_checker.rb, line 36 def expected(_map, type) mapped_items[type].select { |name| elements_to_check.include?(name) } end
expected_item_map()
click to toggle source
# File lib/site_prism/recursion_checker.rb, line 26 def expected_item_map [ expected(mapped_items, :element), expected(mapped_items, :elements), expected(mapped_items, :section), expected(mapped_items, :sections), expected(mapped_items, :iframe) ] end
section_classes_to_check()
click to toggle source
# File lib/site_prism/recursion_checker.rb, line 40 def section_classes_to_check expected_item_map[2].map { |name| instance.send(name) } end
sections_classes_to_check()
click to toggle source
# File lib/site_prism/recursion_checker.rb, line 44 def sections_classes_to_check expected_item_map[3].map { |name| instance.send(name) }.flatten end
Private Instance Methods
_expected_items()
click to toggle source
# File lib/site_prism/recursion_checker.rb, line 65 def _expected_items instance.class.expected_items end
_mapped_items()
click to toggle source
# File lib/site_prism/recursion_checker.rb, line 61 def _mapped_items mapped_items.values.flatten.uniq end
elements_to_check()
click to toggle source
If the page or section has expected_items set, return expected_items that are mapped otherwise just return the list of all mapped_items
# File lib/site_prism/recursion_checker.rb, line 52 def elements_to_check if _expected_items SitePrism.logger.debug('Expected Items has been set.') _mapped_items.select { |name| _expected_items.include?(name) } else _mapped_items end end
mapped_items()
click to toggle source
# File lib/site_prism/recursion_checker.rb, line 73 def mapped_items @mapped_items ||= instance.class.mapped_items(legacy: false) end
there?(name)
click to toggle source
# File lib/site_prism/recursion_checker.rb, line 69 def there?(name) instance.send("has_#{name}?") end