Method: Highway::Utilities.recursive_include?

Defined in:
lib/highway/utilities.rb

.recursive_include?(subject, element) ⇒ Boolean

Recursively check whether the subject includes an element.

Parameters:

  • subject (Object)

    A haystack.

  • element (Object)

    A needle.

Returns:

  • (Boolean)


39
40
41
42
43
44
45
46
47
# File 'lib/highway/utilities.rb', line 39

def self.recursive_include?(subject, element)
  if subject.is_a?(Hash)
    recursive_include?(subject.values, element)
  elsif subject.respond_to?(:any?)
    subject.any? { |value| recursive_include?(value, element) }
  else
    subject == element
  end
end