class MongoModel::MongoOrder
Attributes
clauses[R]
Public Class Methods
new(*clauses)
click to toggle source
# File lib/mongomodel/support/mongo_order.rb, line 5 def initialize(*clauses) @clauses = clauses end
parse(order)
click to toggle source
# File lib/mongomodel/support/mongo_order.rb, line 34 def self.parse(order) case order when MongoOrder order when Clause new(order) when Symbol new(Clause.new(order)) when String new(*order.split(',').map { |c| Clause.parse(c) }) when Array new(*order.map { |c| Clause.parse(c) }) else new(order.to_mongo_order_clause) if order.respond_to?(:to_mongo_order_clause) end end
Public Instance Methods
==(other)
click to toggle source
# File lib/mongomodel/support/mongo_order.rb, line 21 def ==(other) other.is_a?(self.class) && clauses == other.clauses end
Also aliased as: eql?
hash()
click to toggle source
# File lib/mongomodel/support/mongo_order.rb, line 26 def hash clauses.hash end
reverse()
click to toggle source
# File lib/mongomodel/support/mongo_order.rb, line 30 def reverse self.class.new(*clauses.map { |c| c.reverse }) end
to_a()
click to toggle source
# File lib/mongomodel/support/mongo_order.rb, line 9 def to_a clauses end
to_s()
click to toggle source
# File lib/mongomodel/support/mongo_order.rb, line 13 def to_s clauses.map { |c| c.to_s }.join(', ') end
to_sort(model)
click to toggle source
# File lib/mongomodel/support/mongo_order.rb, line 17 def to_sort(model) clauses.map { |c| c.to_sort(model.respond_to?(:properties) ? model.properties[c.field] : nil) } end