class MongoQL::Stage::Sort
Attributes
ctx[RW]
fields[RW]
Public Class Methods
new(ctx, *fields)
click to toggle source
# File lib/mongo_ql/stage/sort.rb, line 7 def initialize(ctx, *fields) @ctx = ctx @fields = fields.map do |field| case field when Expression::FieldNode field.asc when String, Symbol Expression::FieldNode.new(field).asc when Expression::Ascend, Expression::Descend field else raise ArgumentError, "#{field.inspect} must be in type [String, Symbol, Expression::FieldNode, Expression::Ascend, Expression::Descend]" end end end
Public Instance Methods
to_ast()
click to toggle source
# File lib/mongo_ql/stage/sort.rb, line 23 def to_ast { "$sort" => fields.inject({}) { |p, c| p.merge(c.to_ast) } } end