Module: Mongoid::Equality
- Included in:
- Composable
- Defined in:
- lib/mongoid/equality.rb
Overview
This module contains the behavior of Mongoid’s clone/dup of documents.
Instance Method Summary collapse
-
#<=>(other) ⇒ Integer
Default comparison is via the string version of the id.
-
#==(other) ⇒ true, false
Performs equality checking on the document ids.
-
#===(other) ⇒ true, false
Performs class equality checking.
-
#eql?(other) ⇒ true, false
Delegates to ==.
Instance Method Details
#<=>(other) ⇒ Integer
Default comparison is via the string version of the id.
19 20 21 |
# File 'lib/mongoid/equality.rb', line 19 def <=>(other) attributes["_id"].to_s <=> other.attributes["_id"].to_s end |
#==(other) ⇒ true, false
Performs equality checking on the document ids. For more robust equality checking please override this method.
34 35 36 37 |
# File 'lib/mongoid/equality.rb', line 34 def ==(other) self.class == other.class && attributes["_id"] == other.attributes["_id"] end |
#===(other) ⇒ true, false
Performs class equality checking.
49 50 51 |
# File 'lib/mongoid/equality.rb', line 49 def ===(other) other.class == Class ? self.class === other : self == other end |
#eql?(other) ⇒ true, false
Delegates to ==. Used when needing checks in hashes.
63 64 65 |
# File 'lib/mongoid/equality.rb', line 63 def eql?(other) self == (other) end |