Class: Mongoid::Matchable::All

Inherits:
Default
  • Object
show all
Defined in:
build/mongoid-7.0/lib/mongoid/matchable/all.rb

Overview

Checks that all values match.

Since:

  • 4.0.0

Instance Attribute Summary

Attributes inherited from Default

#attribute, #document

Instance Method Summary collapse

Methods inherited from Default

#initialize

Constructor Details

This class inherits a constructor from Mongoid::Matchable::Default

Instance Method Details

#_matches?(condition) ⇒ true, false

Return true if the attribute and first value in the hash are equal.

Examples:

Do the values match?

matcher._matches?({ :key => 10 })

Parameters:

  • condition (Hash)

    The condition to evaluate. This must be a one-element hash like => 1.

Returns:

  • (true, false)

    If the values match.

Since:

  • 4.0.0



17
18
19
20
21
22
23
24
25
# File 'build/mongoid-7.0/lib/mongoid/matchable/all.rb', line 17

def _matches?(condition)
  first = condition_value(condition)
  return false if first.is_a?(Array) && first.empty?

  attribute_array = Array.wrap(@attribute)
  first.all? do |e|
    attribute_array.any? { |_attribute| e === _attribute }
  end
end