Class: Neo4j::Core::Traversal::Traverser

Inherits:
Object
  • Object
show all
Defined in:
lib/neo4j-wrapper/rule/neo4j_core_ext/traverser.rb

Overview

Extends the Neo4j::Core Traverser in order to add rule traversal methods.

Instance Method Summary collapse

Instance Method Details

#filter_method(name, &proc) ⇒ Object



6
7
8
9
10
11
12
13
# File 'lib/neo4j-wrapper/rule/neo4j_core_ext/traverser.rb', line 6

def filter_method(name, &proc)
  # add method name
  singelton = class << self;
    self;
  end
  singelton.send(:define_method, name) { filter &proc }
  self
end

#functions_method(func, rule_node, rule_name) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
# File 'lib/neo4j-wrapper/rule/neo4j_core_ext/traverser.rb', line 16

def functions_method(func, rule_node, rule_name)
  singelton = class << self;
    self;
  end
  singelton.send(:define_method, func.class.function_name) do |*args|
    function_id = args.empty? ? "_classname" : args[0]
    function = rule_node.find_function(rule_name, func.class.function_name, function_id)
    function.value(rule_node.rule_node, rule_name)
  end
  self
end