Class: ActiveCypher::Bolt::Messaging::Begin

Inherits:
Message
  • Object
show all
Defined in:
lib/active_cypher/bolt/messaging.rb

Overview

The BEGIN message. Because transactions are just promises waiting to be broken.

Constant Summary collapse

SIGNATURE =
0x11

Instance Attribute Summary

Attributes inherited from Message

#fields, #signature

Instance Method Summary collapse

Methods inherited from Message

#==, inherited

Constructor Details

#initialize(metadata = {}) ⇒ Begin

metadata may include mode, db, tx_metadata, etc.



127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
# File 'lib/active_cypher/bolt/messaging.rb', line 127

def initialize( = {})
  meta = Messaging.normalize_map()

  # Never set db to neo4j for memgraph
  if meta['adapter'] == 'memgraph'
    # For Memgraph, remove db key entirely if present
    meta.delete('db')
  elsif meta['mode'].is_a?(String) && meta['mode'].length == 1
    # This is for Neo4j only
    meta['db'] ||= 'neo4j'
  end

  # Set default mode if not present
  meta['mode'] ||= 'write'

  super(SIGNATURE, [meta])
end

Instance Method Details

#metadataObject



145
146
147
# File 'lib/active_cypher/bolt/messaging.rb', line 145

def 
  fields.first
end