Class: Tripod::Persistence::Transaction

Inherits:
Object
  • Object
show all
Defined in:
lib/tripod/persistence.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeTransaction

Returns a new instance of Transaction.



9
10
11
# File 'lib/tripod/persistence.rb', line 9

def initialize
  self.transaction_id = Guid.new.to_s
end

Instance Attribute Details

#queryObject

Returns the value of attribute query.



14
15
16
# File 'lib/tripod/persistence.rb', line 14

def query
  @query
end

#transaction_idObject

Returns the value of attribute transaction_id.



13
14
15
# File 'lib/tripod/persistence.rb', line 13

def transaction_id
  @transaction_id
end

Class Method Details

.get_transaction(trans) ⇒ Object



35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# 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

.valid_transaction(transaction) ⇒ Object



31
32
33
# File 'lib/tripod/persistence.rb', line 31

def self.valid_transaction(transaction)
  transaction && transaction.class == Tripod::Persistence::Transaction
end

Instance Method Details

#abortObject



21
22
23
# File 'lib/tripod/persistence.rb', line 21

def abort
  clear_transaction
end

#clear_transactionObject



25
26
27
28
29
# File 'lib/tripod/persistence.rb', line 25

def clear_transaction
  self.transaction_id = nil
  self.query = ""
  Tripod::Persistence.transactions.delete(self.transaction_id)
end

#commitObject



16
17
18
19
# File 'lib/tripod/persistence.rb', line 16

def commit
  Tripod::SparqlClient::Update.update(self.query)
  clear_transaction
end