module Thorderbolt
Active Record customer ordering
Constants
- ParamsParsingError
- ThorderboltError
- VERSION
Public Instance Methods
order_as(hash)
click to toggle source
# File lib/thorderbolt.rb, line 13 def order_as(hash) order_with_builder(hash, OrderQueryBuilder) end
order_as_any(hash)
click to toggle source
# File lib/thorderbolt.rb, line 17 def order_as_any(hash) order_with_builder(hash, OrderAnyQueryBuilder) end
Protected Instance Methods
order_with_builder(hash, builder)
click to toggle source
# File lib/thorderbolt.rb, line 23 def order_with_builder(hash, builder) params = ParamsExtractor.call(hash, table_name) values = params[:values] return all if params[:values].empty? raise ThorderboltError, 'Cannot order by `nil`' if values.any?(&:nil?) builder = builder.new(params) order(Arel.sql(builder.build)) end