class Activecube::Query::Ordering

Attributes

argument[R]
direction[R]

Public Class Methods

new(argument, direction) click to toggle source
# File lib/activecube/query/ordering.rb, line 6
def initialize argument, direction
  @argument = argument
  @direction = direction
end

Public Instance Methods

append_query(_model, _cube_query, _table, query) click to toggle source
# File lib/activecube/query/ordering.rb, line 11
def append_query _model, _cube_query, _table, query
  text = argument.to_s.split(',').map{|s| quote s}.join(',')
  query.order(::Arel.sql(text).send(direction))
end
quote(s) click to toggle source
# File lib/activecube/query/ordering.rb, line 16
def quote s
  if s =~ /^[\w\.]+$/
    "`#{s}`"
  else
    s
  end
end