module Cuttable::ClassMethods

Public Instance Methods

default_order(query) click to toggle source
# File lib/cuttable.rb, line 14
def default_order(query)
  @@default_order = query
end
sanitize_order(sql) click to toggle source
# File lib/cuttable.rb, line 4
def sanitize_order(sql)
  return order(@@default_order) if sql.to_s.empty?
  values = (sql || 'id desc').downcase.strip.split(/ |, /)
  sort_by = values.slice!(-1)
  return order(@@default_order) unless %w[asc desc].include?(sort_by) &&
                                (values - column_names).empty?
  query = values.join(', ') + " #{sort_by}"
  order(query)
end