module ActiveGraph::Transactions

Public Instance Methods

checked_yield(tx) { |tx| ... } click to toggle source
   # File lib/active_graph/transactions.rb
49 def checked_yield(tx)
50   yield tx
51 rescue StandardError => e
52   tx.failure
53   raise e
54 end
read_transaction(**config, &block) click to toggle source
   # File lib/active_graph/transactions.rb
28 def read_transaction(**config, &block)
29   send_transaction(:read_transaction, **config, &block)
30 end
run_transaction_work(session, method, **config, &block) click to toggle source
   # File lib/active_graph/transactions.rb
42 def run_transaction_work(session, method, **config, &block)
43   session.send(method, **config) do |tx|
44     self.tx = tx
45     checked_yield(tx, &block)
46   end.tap { tx.apply_callbacks }
47 end
send_transaction(method, **config, &block) click to toggle source
   # File lib/active_graph/transactions.rb
34 def send_transaction(method, **config, &block)
35   return checked_yield(tx, &block) if tx&.open?
36   return run_transaction_work(explicit_session, method, **config, &block) if explicit_session&.open?
37   driver.session do |session|
38     run_transaction_work(session, method, **config, &block)
39   end
40 end
session(*args) { |session| ... } click to toggle source
   # File lib/active_graph/transactions.rb
12 def session(*args)
13   ActiveGraph::Base.driver.session(*args) do |session|
14     self.explicit_session = session
15     yield session
16     session.last_bookmark
17   end
18 end
transaction(**config, &block) click to toggle source
   # File lib/active_graph/transactions.rb
20 def transaction(**config, &block)
21   send_transaction(:begin_transaction, **config, &block)
22 end
write_transaction(**config, &block) click to toggle source
   # File lib/active_graph/transactions.rb
24 def write_transaction(**config, &block)
25   send_transaction(:write_transaction, **config, &block)
26 end