Module: XeroKiwi::Query::Order
- Defined in:
- lib/xero_kiwi/query/order.rb
Overview
Class Method Summary collapse
Class Method Details
.clause(name, direction, fields) ⇒ Object
26 27 28 29 30 31 32 |
# File 'lib/xero_kiwi/query/order.rb', line 26 def clause(name, direction, fields) spec = fields.fetch(name) do raise ArgumentError, "unknown order field: #{name.inspect}" end "#{spec[:path]} #{direction.to_s.upcase}" end |
.compile(order, fields:) ⇒ Object
17 18 19 20 21 22 23 24 |
# File 'lib/xero_kiwi/query/order.rb', line 17 def compile(order, fields:) return nil if order.nil? return order if order.is_a?(String) raise ArgumentError, "order must be a Hash or String, got #{order.class}" unless order.is_a?(Hash) order.map { |name, direction| clause(name, direction, fields) }.join(",") end |