class CypherBuilder::Rel
Public Class Methods
new(prefix, labels: [], from: nil, to: nil)
click to toggle source
# File lib/cypher_builder/rel.rb, line 7 def initialize(prefix, labels: [], from: nil, to: nil) @prefix, @labels = prefix, ::Kernel.Array(labels) @from, @to = from, to end
Public Instance Methods
as_cypher(payload:, context:)
click to toggle source
# File lib/cypher_builder/rel.rb, line 12 def as_cypher(payload:, context:) ::Kernel.sprintf('%s-[%s]->%s', (@from ? @from.as_cypher(payload: payload, context: context.add(self)) : '()'), [@prefix, *@labels].compact.join(':'), (@to ? @to.as_cypher(payload: payload, context: context.add(self)) : '()')) end
from(node = nil)
click to toggle source
# File lib/cypher_builder/rel.rb, line 19 def from(node = nil) return Field.new(@prefix, 'from') if node == nil Rel.new(@prefix, labels: @labels, from: node, to: @to) end
method_missing(name, *_)
click to toggle source
# File lib/cypher_builder/rel.rb, line 33 def method_missing(name, *_) Field.new(@prefix, name) end
respond_to_missing?(name, include_private = false)
click to toggle source
# File lib/cypher_builder/rel.rb, line 29 def respond_to_missing?(name, include_private = false) true end
to(node = nil)
click to toggle source
# File lib/cypher_builder/rel.rb, line 24 def to(node = nil) return Field.new(@prefix, 'to') if node == nil Rel.new(@prefix, labels: @labels, from: @from, to: node) end