class Neo4j::Rule::Functions::Count

A function for counting number of nodes of a given class.

Public Class Methods

function_name() click to toggle source
# File lib/neo4j/rule/functions/count.rb, line 37
def self.function_name
  :count
end
new() click to toggle source
# File lib/neo4j/rule/functions/count.rb, line 7
def initialize
  @property = '_classname'
end

Public Instance Methods

add(rule_name, rule_node, new_value) click to toggle source
# File lib/neo4j/rule/functions/count.rb, line 21
def add(rule_name, rule_node, new_value)
  key = rule_node_property(rule_name)
  rule_node[key] ||= 0
  rule_node[key] += 1
end
calculate?(changed_property) click to toggle source
# File lib/neo4j/rule/functions/count.rb, line 11
def calculate?(changed_property)
  true
end
classes_changed(rule_name, rule_node, class_change) click to toggle source
# File lib/neo4j/rule/functions/count.rb, line 31
def classes_changed(rule_name, rule_node, class_change)
  key = rule_node_property(rule_name)
  rule_node[key] ||= 0
  rule_node[key] += class_change.net_change
end
delete(rule_name, rule_node, old_value) click to toggle source
# File lib/neo4j/rule/functions/count.rb, line 15
def delete(rule_name, rule_node, old_value)
  key = rule_node_property(rule_name)
  rule_node[key] ||= 0
  rule_node[key] -= 1
end
update(*) click to toggle source
# File lib/neo4j/rule/functions/count.rb, line 27
def update(*)
  # we are only counting, not interested in property changes
end