Class: Mongoid::Criteria::Queryable::Options
- Defined in:
- lib/mongoid/criteria/queryable/options.rb
Overview
The options is a hash representation of options passed to MongoDB queries, such as skip, limit, and sorting criteria.
Instance Attribute Summary
Attributes inherited from Smash
#aliases, #aliases The aliases., #serializers, #serializers The serializers.
Instance Method Summary collapse
-
#__deep_copy__ ⇒ Options
Perform a deep copy of the options.
-
#fields ⇒ Hash
Convenience method for getting the field options.
-
#limit ⇒ Integer
Convenience method for getting the limit option.
-
#skip ⇒ Integer
Convenience method for getting the skip option.
-
#sort ⇒ Hash
Convenience method for getting the sort options.
-
#store(key, value, localize = true) ⇒ Object
(also: #[]=)
Store the value in the options for the provided key.
-
#to_pipeline ⇒ Array<Hash>
Convert the options to aggregation pipeline friendly options.
Methods inherited from Smash
Constructor Details
This class inherits a constructor from Mongoid::Criteria::Queryable::Smash
Instance Method Details
#__deep_copy__ ⇒ Options
Perform a deep copy of the options.
101 102 103 104 105 106 107 |
# File 'lib/mongoid/criteria/queryable/options.rb', line 101 def __deep_copy__ self.class.new(aliases, serializers) do |copy| each_pair do |key, value| copy.merge!(key => value.__deep_copy__) end end end |
#fields ⇒ Hash
Convenience method for getting the field options.
20 21 22 |
# File 'lib/mongoid/criteria/queryable/options.rb', line 20 def fields self[:fields] end |
#limit ⇒ Integer
Convenience method for getting the limit option.
32 33 34 |
# File 'lib/mongoid/criteria/queryable/options.rb', line 32 def limit self[:limit] end |
#skip ⇒ Integer
Convenience method for getting the skip option.
44 45 46 |
# File 'lib/mongoid/criteria/queryable/options.rb', line 44 def skip self[:skip] end |
#sort ⇒ Hash
Convenience method for getting the sort options.
56 57 58 |
# File 'lib/mongoid/criteria/queryable/options.rb', line 56 def sort self[:sort] end |
#store(key, value, localize = true) ⇒ Object Also known as: []=
Store the value in the options for the provided key. The options will handle all necessary serialization and localization in this step.
72 73 74 |
# File 'lib/mongoid/criteria/queryable/options.rb', line 72 def store(key, value, localize = true) super(key, evolve(value, localize)) end |
#to_pipeline ⇒ Array<Hash>
Convert the options to aggregation pipeline friendly options.
85 86 87 88 89 90 91 |
# File 'lib/mongoid/criteria/queryable/options.rb', line 85 def to_pipeline pipeline = [] pipeline.push({ "$skip" => skip }) if skip pipeline.push({ "$limit" => limit }) if limit pipeline.push({ "$sort" => sort }) if sort pipeline end |