Sha256: 7c42e83cc2878111f2ac0d5a701acbb62a2ba11435db1161c836a579e4a756c3

Contents?: true

Size: 826 Bytes

Versions: 20

Compression:

Stored size: 826 Bytes

Contents

module Neo4j
  module Core
    module Traversal
      # Implements the Neo4j RelationshipExpander Java interface, only used internally.
      # @private
      class RelExpander
        include Java::OrgNeo4jGraphdb::RelationshipExpander

        attr_accessor :reversed

        def initialize(&block)
          @block = block
          @reverse = false
        end

        def self.create_pair(&block)
          normal = RelExpander.new(&block)
          reversed = RelExpander.new(&block)
          normal.reversed = reversed
          reversed.reversed = normal
          reversed.reverse!
          normal
        end

        def expand(node)
          @block.arity == 1 ? @block.call(node) : @block.call(node, @reverse)
        end

        def reverse!
          @reverse = true
        end
      end
    end
  end
end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
neo4j-core-2.0.1-java lib/neo4j-core/traversal/rel_expander.rb
neo4j-core-2.0.0-java lib/neo4j-core/traversal/rel_expander.rb
neo4j-core-2.0.0.rc2-java lib/neo4j-core/traversal/rel_expander.rb
neo4j-core-2.0.0.rc1-java lib/neo4j-core/traversal/rel_expander.rb
neo4j-core-0.0.15-java lib/neo4j-core/traversal/rel_expander.rb
neo4j-core-0.0.14-java lib/neo4j-core/traversal/rel_expander.rb
neo4j-core-0.0.13-java lib/neo4j-core/traversal/rel_expander.rb
neo4j-core-0.0.12-java lib/neo4j-core/traversal/rel_expander.rb
neo4j-core-0.0.11-java lib/neo4j-core/traversal/rel_expander.rb
neo4j-core-0.0.10-java lib/neo4j-core/traversal/rel_expander.rb
neo4j-core-0.0.9-java lib/neo4j-core/traversal/rel_expander.rb
neo4j-core-0.0.8-java lib/neo4j-core/traversal/rel_expander.rb
neo4j-core-0.0.7-java lib/neo4j-core/traversal/rel_expander.rb
neo4j-core-0.0.6-java lib/neo4j-core/traversal/rel_expander.rb
neo4j-core-0.0.5-java lib/neo4j-core/traversal/rel_expander.rb
neo4j-core-0.0.4-java lib/neo4j-core/traversal/rel_expander.rb
neo4j-core-0.0.3-java lib/neo4j-core/traversal/rel_expander.rb
neo4j-core-0.0.2-java lib/neo4j-core/traversal/rel_expander.rb
neo4j-core-0.0.1-java lib/neo4j-core/traversal/rel_expander.rb
neo4j-core-2.0.0.alpha.1-java lib/neo4j-core/traversal/rel_expander.rb