Class: Mongoid::Matchable::All

Inherits:
Default
  • Object
show all
Defined in:
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?(value) ⇒ 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:

  • value (Hash)

    The values to check.

Returns:

  • (true, false)

    If the values match.

Since:

  • 4.0.0



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

def matches?(value)
  first = first(value)
  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