class Rethinker::Selection::OrderBy::OrderByRules
Attributes
rules[RW]
Public Class Methods
new(rules)
click to toggle source
# File lib/rethinker/selection/order_by.rb, line 16 def initialize(rules) @rules = rules end
Public Instance Methods
asc(order)
click to toggle source
# File lib/rethinker/selection/order_by.rb, line 32 def asc(order) order == :reverse ? :desc : :asc end
desc(order)
click to toggle source
# File lib/rethinker/selection/order_by.rb, line 36 def desc(order) order == :reverse ? :asc : :desc end
rql_lookup(key, value = :asc, order)
click to toggle source
# File lib/rethinker/selection/order_by.rb, line 24 def rql_lookup(key, value = :asc, order) case value when asc(order) then RethinkDB::RQL.new.asc(key) when desc(order) then RethinkDB::RQL.new.desc(key) else raise "please pass :asc or :desc, not #{value}" end end
to_rql(context)
click to toggle source
# File lib/rethinker/selection/order_by.rb, line 20 def to_rql(context) @rules.map{|k,v| rql_lookup(k,v, context[:order])} end