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.
86 87 88 89 90 91 92 |
# File 'lib/mongoid/criteria/queryable/options.rb', line 86 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.
17 18 19 |
# File 'lib/mongoid/criteria/queryable/options.rb', line 17 def fields self[:fields] end |
#limit ⇒ Integer
Convenience method for getting the limit option.
27 28 29 |
# File 'lib/mongoid/criteria/queryable/options.rb', line 27 def limit self[:limit] end |
#skip ⇒ Integer
Convenience method for getting the skip option.
37 38 39 |
# File 'lib/mongoid/criteria/queryable/options.rb', line 37 def skip self[:skip] end |
#sort ⇒ Hash
Convenience method for getting the sort options.
47 48 49 |
# File 'lib/mongoid/criteria/queryable/options.rb', line 47 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.
61 62 63 |
# File 'lib/mongoid/criteria/queryable/options.rb', line 61 def store(key, value, localize = true) super(key, evolve(value, localize)) end |
#to_pipeline ⇒ Array<Hash>
Convert the options to aggregation pipeline friendly options.
72 73 74 75 76 77 78 |
# File 'lib/mongoid/criteria/queryable/options.rb', line 72 def to_pipeline pipeline = [] pipeline.push({ "$skip" => skip }) if skip pipeline.push({ "$limit" => limit }) if limit pipeline.push({ "$sort" => sort }) if sort pipeline end |