Sha256: 7b7ec818a19a8943c13870c17c1ce637ebaf4d59b2b8381718a5ba330bc489bf

Contents?: true

Size: 641 Bytes

Versions: 9

Compression:

Stored size: 641 Bytes

Contents

module Neo4j::Aggregate

  class PropGroup
    include Neo4j::NodeMixin
    include Enumerable

    has_one :aggregate, :cascade_delete => :incoming
    property :aggregate_group, :aggregate_size, :group_by

    def each
      group_by.split(',').each do |group|
        yield aggregate[group]
      end
    end

    # :api: private
    def get_property(key)
      value = super(key)
      return value unless value.nil?
      return nil unless aggregate
      aggregate[key]
    end

    def ignore_incoming_cascade_delete? (relationship)
      super || relationship.start_node.kind_of?(Neo4j::Aggregate::PropsAggregate)
    end

  end

end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
neo4j-1.0.0.beta.9 lib/neo4j.old/extensions/aggregate/prop_group.rb
neo4j-1.0.0.beta.8 lib/neo4j.old/extensions/aggregate/prop_group.rb
neo4j-1.0.0.beta.7 lib/neo4j.old/extensions/aggregate/prop_group.rb
neo4j-1.0.0.beta.6 lib/neo4j.old/extensions/aggregate/prop_group.rb
neo4j-1.0.0.beta.5 lib/neo4j.old/extensions/aggregate/prop_group.rb
neo4j-1.0.0.beta.4 lib/neo4j.old/extensions/aggregate/prop_group.rb
neo4j-1.0.0.beta.3 lib/neo4j.old/extensions/aggregate/prop_group.rb
neo4j-1.0.0.beta.2 lib/neo4j.old/extensions/aggregate/prop_group.rb
neo4j-1.0.0.beta.1 lib/neo4j.old/extensions/aggregate/prop_group.rb