Module: ActiveMocker::Queries::Sort

Defined in:
lib/active_mocker/mock/queries.rb

Defined Under Namespace

Classes: DESC

Class Method Summary collapse

Class Method Details

.asc(r) ⇒ Object



345
346
347
# File 'lib/active_mocker/mock/queries.rb', line 345

def asc(r)
  r
end

.build_order(a, options) ⇒ Object



354
355
356
# File 'lib/active_mocker/mock/queries.rb', line 354

def build_order(a, options)
  options.map { |k, v| send(v, a.send(k)) }
end

.desc(r) ⇒ Object



341
342
343
# File 'lib/active_mocker/mock/queries.rb', line 341

def desc(r)
  DESC.new(r)
end

.order_mixed_args(all, args, options) ⇒ Object



349
350
351
352
# File 'lib/active_mocker/mock/queries.rb', line 349

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