class Tripod::Persistence::Tripod::Persistence::Tripod::Persistence::Transaction

Attributes

query[RW]
transaction_id[RW]

Public Class Methods

get_transaction(trans) click to toggle source
# File lib/tripod/persistence.rb, line 35
def self.get_transaction(trans)
  transaction = nil

  if Tripod::Persistence::Transaction.valid_transaction(trans)

    transaction_id = trans.transaction_id

    Tripod::Persistence.transactions ||= {}

    if Tripod::Persistence.transactions[transaction_id]
      # existing transaction
      transaction = Tripod::Persistence.transactions[transaction_id]
    else
      # new transaction
      transaction = Tripod::Persistence.transactions[transaction_id] = trans
    end
  end

  transaction
end
new() click to toggle source
# File lib/tripod/persistence.rb, line 9
def initialize
  self.transaction_id = Guid.new.to_s
end
valid_transaction(transaction) click to toggle source
# File lib/tripod/persistence.rb, line 31
def self.valid_transaction(transaction)
  transaction && transaction.class == Tripod::Persistence::Transaction
end

Public Instance Methods

abort() click to toggle source
# File lib/tripod/persistence.rb, line 21
def abort
  clear_transaction
end
clear_transaction() click to toggle source
# File lib/tripod/persistence.rb, line 25
def clear_transaction
  self.transaction_id = nil
  self.query = ""
  Tripod::Persistence.transactions.delete(self.transaction_id)
end
commit() click to toggle source
# File lib/tripod/persistence.rb, line 16
def commit
  Tripod::SparqlClient::Update.update(self.query)
  clear_transaction
end