Object
Contains all the default behavior for checking for matching documents given MongoDB expressions.
Return true if the attribute and value are equal, or if it is an array if the value is included.
@example Does this value match?
default.matches?("value")
@param [ Object ] value The value to check if it matches.
@return [ true, false ] True if matches, false if not.
@since 1.0.0
# File lib/mongoid/matchers/default.rb, line 33 def matches?(value) attribute.is_a?(Array) && !value.is_a?(Array) ? attribute.include?(value) : value === attribute end
If object exists then compare the two, otherwise return false
@example Determine if we can compare.
matcher.determine("test", "$in")
@param [ Object ] value The value to compare with. @param [ Symbol, String ] operator The comparison operation.
@return [ true, false ] The comparison or false.
@since 1.0.0
# File lib/mongoid/matchers/default.rb, line 64 def determine(value, operator) attribute ? attribute.send(operator, first(value)) : false end
Convenience method for getting the first value in a hash.
@example Get the first value.
matcher.first(:test => "value")
@param [ Hash ] hash The has to pull from.
@return [ Object ] The first value.
@since 1.0.0
# File lib/mongoid/matchers/default.rb, line 49 def first(hash) hash.values.first end
Creating a new matcher only requires the value.
@example Create a new matcher.
Default.new("attribute")
@param [ Object ] attribute The current attribute to check against.
@since 1.0.0
# File lib/mongoid/matchers/default.rb, line 18 def initialize(attribute, document = nil) @attribute, @document = attribute, document end
Generated with the Darkfish Rdoc Generator 2.