class CypherBuilder::OrderBy
Public Class Methods
new(first, *rest)
click to toggle source
# File lib/cypher_builder/order_by.rb, line 15 def initialize(first, *rest) @parts = wrap(*([first] + rest)) end
Public Instance Methods
as_cypher(payload:, context:)
click to toggle source
# File lib/cypher_builder/order_by.rb, line 19 def as_cypher(payload:, context:) rsv = MicroResolver.new(payload, context.add(self)) ps = @parts.reduce([]) do |r, v| if r.last && AsIs === v r[0..-2] + [[r.last, rsv.execute(v)].join(' ')] else r + [rsv.execute(v)] end end sprintf('ORDER BY %s', ps.join(', ')) end