class Riak::YzQuery::OrderClause
Public Class Methods
new(clause)
click to toggle source
# File lib/riak/yz_query/order_clause.rb, line 4 def initialize(clause) @clause = clause end
Public Instance Methods
build_clause_array()
click to toggle source
# File lib/riak/yz_query/order_clause.rb, line 36 def build_clause_array @clause.join ', ' end
build_clause_hash()
click to toggle source
# File lib/riak/yz_query/order_clause.rb, line 27 def build_clause_hash @clause.map do |k,v| v = v.to_s.downcase raise ArgumentError.new "Couldn't use #{v.inspect} in an order clause" unless %w{asc desc}.include? v "#{k} #{v}" end.join ', ' end
consume(new_clause)
click to toggle source
# File lib/riak/yz_query/order_clause.rb, line 21 def consume(new_clause) new_clause_query = self.class.new(new_clause) return new_clause_query if @clause.empty? return self.class.new "#{to_yz_query}, #{new_clause.to_yz_query}" end
to_yz_query()
click to toggle source
# File lib/riak/yz_query/order_clause.rb, line 8 def to_yz_query return nil if @clause.empty? case @clause when Hash build_clause_hash when Array build_clause_array when String @clause end end