Sha256: c7af8f26bca1f30a2e52994d6a96c41fe58d82159dc6f50362b0d2084c27897f

Contents?: true

Size: 764 Bytes

Versions: 2

Compression:

Stored size: 764 Bytes

Contents

require 'neo4j/core/node'
require 'neo4j/core/relationship'
require 'neo4j/core/path'

module Neo4j
  module Core
    class CypherSession
      class Result
        attr_reader :columns, :rows

        def initialize(columns, rows)
          @columns = columns.map(&:to_sym)
          @rows = rows
          @struct_class = Struct.new(*@columns)
        end

        include Enumerable

        def each
          structs.each do |struct|
            yield struct
          end
        end

        def structs
          @structs ||= rows.map do |row|
            @struct_class.new(*row)
          end
        end

        def hashes
          @hashes ||= rows.map do |row|
            Hash[@columns.zip(row)]
          end
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
neo4j-core-6.0.0.alpha.2 lib/neo4j/core/cypher_session/result.rb
neo4j-core-6.0.0.alpha.1 lib/neo4j/core/cypher_session/result.rb