module ActiveMocker::Queries::Sort

Public Class Methods

asc(r) click to toggle source
# File lib/active_mocker/mock/queries.rb, line 347
def asc(r)
  r
end
build_order(a, options) click to toggle source
# File lib/active_mocker/mock/queries.rb, line 356
def build_order(a, options)
  options.map { |k, v| send(v, a.send(k)) }
end
desc(r) click to toggle source
# File lib/active_mocker/mock/queries.rb, line 343
def desc(r)
  DESC.new(r)
end
order_mixed_args(all, args, options) click to toggle source
# File lib/active_mocker/mock/queries.rb, line 351
def order_mixed_args(all, args, options)
  options.merge!(args.each_with_object({}) { |a, h| h[a] = :asc }) # Add non specified direction keys
  all.sort { |a, b| build_order(a, options) <=> build_order(b, options) }
end