Sha256: 0a6820293d5dafafb6780251cfed0b0a74124e8afcd1ae2a86520888953811b3
Contents?: true
Size: 1.17 KB
Versions: 1
Compression:
Stored size: 1.17 KB
Contents
module Neo4j module Wrapper module Rule module Functions # A function for counting number of nodes of a given class. class Count < Function def initialize @property = '_classname' @@lock ||= Java::java.lang.Object.new end def calculate?(changed_property) true end def delete(rule_name, rule_node, _) key = rule_node_property(rule_name) rule_node[key] ||= 0 rule_node[key] -= 1 end def add(rule_name, rule_node, _) key = rule_node_property(rule_name) rule_node[key] ||= 0 rule_node[key] += 1 end def update(*) # we are only counting, not interested in property changes end def classes_changed(rule_name, rule_node, class_change) key = rule_node_property(rule_name) @@lock.synchronized do rule_node[key] ||= 0 rule_node[key] += class_change.net_change end end def self.function_name :count end end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
neo4j-wrapper-0.0.2-java | lib/neo4j-wrapper/rule/functions/count.rb |