Class: Mongoid::Contextual::None
- Inherits:
-
Object
- Object
- Mongoid::Contextual::None
- Includes:
- Enumerable, Aggregable::None, Queryable
- Defined in:
- lib/mongoid/contextual/none.rb
Instance Attribute Summary collapse
-
#criteria ⇒ Object
readonly
Returns the value of attribute criteria.
-
#klass ⇒ Object
readonly
Returns the value of attribute klass.
Attributes included from Queryable
#collection, #collection The collection to query against., #criteria The criteria for the context., #klass The klass for the criteria.
Instance Method Summary collapse
-
#==(other) ⇒ true | false
Check if the context is equal to the other object.
-
#distinct(_field) ⇒ Array
Get the distinct field values in null context.
-
#each ⇒ Enumerator
Iterate over the null context.
-
#exists? ⇒ false
Do any documents exist for the context.
-
#first(limit = nil) ⇒ nil
(also: #find_first, #one)
Always returns nil.
-
#initialize(criteria) ⇒ None
constructor
Create the new null context.
-
#last(limit = nil) ⇒ nil
Always returns nil.
-
#length ⇒ Integer
(also: #size)
Always returns zero.
- #new_sum ⇒ Object
- #old_sum ⇒ Object
-
#pick(*_fields) ⇒ nil
Pick the field values in null context.
-
#pluck(*_fields) ⇒ Array
Pluck the field values in null context.
-
#sum(_field = nil) ⇒ Integer | Symbol
Get the sum in the null context.
-
#take(limit = nil) ⇒ [] | nil
Returns nil or empty array.
-
#take! ⇒ Object
Always raises an error.
-
#tally(_field) ⇒ Hash
Tally the field values in null context.
Methods included from Queryable
Methods included from Aggregable::None
Constructor Details
#initialize(criteria) ⇒ None
Create the new null context.
128 129 130 |
# File 'lib/mongoid/contextual/none.rb', line 128 def initialize(criteria) @criteria, @klass = criteria, criteria.klass end |
Instance Attribute Details
#criteria ⇒ Object (readonly)
Returns the value of attribute criteria.
14 15 16 |
# File 'lib/mongoid/contextual/none.rb', line 14 def criteria @criteria end |
#klass ⇒ Object (readonly)
Returns the value of attribute klass.
14 15 16 |
# File 'lib/mongoid/contextual/none.rb', line 14 def klass @klass end |
Instance Method Details
#==(other) ⇒ true | false
Check if the context is equal to the other object.
44 45 46 |
# File 'lib/mongoid/contextual/none.rb', line 44 def ==(other) other.is_a?(None) end |
#distinct(_field) ⇒ Array
Get the distinct field values in null context.
56 57 58 |
# File 'lib/mongoid/contextual/none.rb', line 56 def distinct(_field) [] end |
#each ⇒ Enumerator
Iterate over the null context. There are no documents to iterate over in this case.
69 70 71 72 73 74 75 76 |
# File 'lib/mongoid/contextual/none.rb', line 69 def each if block_given? [].each { |doc| yield(doc) } self else to_enum end end |
#exists? ⇒ false
Do any documents exist for the context.
84 |
# File 'lib/mongoid/contextual/none.rb', line 84 def exists?; false; end |
#first(limit = nil) ⇒ nil Also known as: find_first, one
Always returns nil.
140 141 142 |
# File 'lib/mongoid/contextual/none.rb', line 140 def first(limit = nil) [] unless limit.nil? end |
#last(limit = nil) ⇒ nil
Always returns nil.
152 153 154 |
# File 'lib/mongoid/contextual/none.rb', line 152 def last(limit = nil) [] unless limit.nil? end |
#length ⇒ Integer Also known as: size
Always returns zero.
184 185 186 |
# File 'lib/mongoid/contextual/none.rb', line 184 def length Mongoid.broken_aggregables ? 0 : entries.length end |
#new_sum ⇒ Object
16 |
# File 'lib/mongoid/contextual/none.rb', line 16 alias :new_sum :sum |
#old_sum ⇒ Object
9 |
# File 'lib/mongoid/contextual/none.rb', line 9 alias :old_sum :sum |
#pick(*_fields) ⇒ nil
Pick the field values in null context.
106 107 108 |
# File 'lib/mongoid/contextual/none.rb', line 106 def pick(*_fields) nil end |
#pluck(*_fields) ⇒ Array
Pluck the field values in null context.
94 95 96 |
# File 'lib/mongoid/contextual/none.rb', line 94 def pluck(*_fields) [] end |
#sum(_field = nil) ⇒ Integer | Symbol
Get the sum in the null context.
28 29 30 31 32 33 34 |
# File 'lib/mongoid/contextual/none.rb', line 28 def sum(_field = nil) if Mongoid.broken_aggregables old_sum(_field) else new_sum(_field) end end |
#take(limit = nil) ⇒ [] | nil
Returns nil or empty array.
164 165 166 |
# File 'lib/mongoid/contextual/none.rb', line 164 def take(limit = nil) limit ? [] : nil end |
#take! ⇒ Object
Always raises an error.
174 175 176 |
# File 'lib/mongoid/contextual/none.rb', line 174 def take! raise Errors::DocumentNotFound.new(klass, nil, nil) end |
#tally(_field) ⇒ Hash
Tally the field values in null context.
118 119 120 |
# File 'lib/mongoid/contextual/none.rb', line 118 def tally(_field) {} end |