Class: Neon::Transaction::Rest
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Placebo
#failure, run, #success, #success?
Constructor Details
#initialize(session) ⇒ Rest
Returns a new instance of Rest.
4
5
6
7
8
9
|
# File 'lib/neon/transaction/rest.rb', line 4
def initialize(session)
@session = session
@tx = @session.neo.begin_transaction
failure
end
|
Class Method Details
.begin_tx(session) ⇒ Object
34
35
36
37
38
|
# File 'lib/neon/transaction/rest.rb', line 34
def begin_tx(session)
id = id_mapper(session)
Thread.current[id] || Thread.current[id] = new(session)
end
|
.id_mapper(session) ⇒ Object
41
42
43
|
# File 'lib/neon/transaction/rest.rb', line 41
def id_mapper(session)
"Neon::#{session}"
end
|
Instance Method Details
#close ⇒ Object
21
22
23
24
25
26
27
28
29
30
31
|
# File 'lib/neon/transaction/rest.rb', line 21
def close
if success?
@session.neo.commit_transaction @tx
else
@session.neo.rollback_transaction @tx
end
id = self.class.id_mapper(@session)
Thread.current[id] = nil if Thread.current[id] == self
end
|
#keep_alive ⇒ Object
11
12
13
|
# File 'lib/neon/transaction/rest.rb', line 11
def keep_alive
@session.neo.keep_transaction @tx
end
|
#run_query(query, params = {}, formats = nil) ⇒ Object
15
16
17
18
19
|
# File 'lib/neon/transaction/rest.rb', line 15
def run_query(query, params={}, formats=nil)
query = [query, params] unless query.is_a?(Array) || !params.empty?
query << formats if formats.is_a?(Array)
@session.neo.in_transaction(@tx, query)["results"]
end
|