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