Module: Cuttable::ClassMethods

Defined in:
lib/cuttable.rb

Instance Method Summary collapse

Instance Method Details

#default_order(query) ⇒ Object



14
15
16
# File 'lib/cuttable.rb', line 14

def default_order(query)
  @@default_order = query
end

#sanitize_order(sql) ⇒ Object



4
5
6
7
8
9
10
11
12
# 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