class CypherBuilder::Opt

Public Class Methods

new(** params_and_parts) click to toggle source
# File lib/cypher_builder/opt.rb, line 9
def initialize(** params_and_parts)
  @params_and_parts = Hash[params_and_parts.map { |k, v| [k, wrap(v)] }]
end

Public Instance Methods

as_cypher(payload:, context:) click to toggle source
# File lib/cypher_builder/opt.rb, line 13
def as_cypher(payload:, context:)
  param, part = @params_and_parts.find { |k, _| payload.include?(k) }
  part = @params_and_parts.values.first unless part
  payload.already_used(param) if param

  resolve(part, payload: payload, context: context.add(self))
end