Module: DefaultWhere::Order

Included in:
DefaultWhere
Defined in:
lib/default_where/order.rb

Constant Summary collapse

PATTERN =
{
  '-asc': :asc,
  '-desc': :desc
}

Instance Method Summary collapse

Instance Method Details

#default_where_order(params) ⇒ Object



10
11
12
13
14
15
16
17
18
19
# File 'lib/default_where/order.rb', line 10

def default_where_order(params)
  order_hash = {}

  params.sort_by{ |_, v| v.to_i }.each do |i|
    k, v = i[0].split('-')
    order_hash[k] = v
  end

  order(order_hash)
end

#default_where_order_filter(params) ⇒ Object



21
22
23
24
25
# File 'lib/default_where/order.rb', line 21

def default_where_order_filter(params)
  params.select do |k, v|
    k.end_with?('-asc', '-desc') && String(v) =~ /^[1-9]$/
  end
end