Class: Dbee::Providers::ActiveRecordProvider::ExpressionBuilder::OrderMaker

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/dbee/providers/active_record_provider/expression_builder/order_maker.rb

Overview

Derives Arel#order predicates.

Instance Method Summary collapse

Instance Method Details

#make(sorter, arel_column) ⇒ Object

Raises:

  • (ArgumentError)


25
26
27
28
29
30
31
# File 'lib/dbee/providers/active_record_provider/expression_builder/order_maker.rb', line 25

def make(sorter, arel_column)
  method = SORTER_EVALUATORS[sorter.class]

  raise ArgumentError, "cannot compile sorter: #{sorter}" unless method

  method.call(arel_column)
end