neography 1.0.11 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.md +8 -0
- data/lib/neography/rest.rb +3 -3
- data/lib/neography/rest/transactions.rb +3 -3
- data/lib/neography/version.rb +1 -1
- data/spec/integration/rest_transaction_spec.rb +22 -0
- metadata +1 -1
data/README.md
CHANGED
@@ -94,6 +94,14 @@ It supports indexes, Gremlin scripts, Cypher queries and batch operations.
|
|
94
94
|
|
95
95
|
Some of this functionality is shown here, but all of it is explained in the following Wiki pages:
|
96
96
|
|
97
|
+
2.0 Only features:
|
98
|
+
|
99
|
+
* [Schema indexes](https://github.com/maxdemarzi/neography/wiki/Schema-indexes) - Create, get and delete schema indexes.
|
100
|
+
* [Node labels](https://github.com/maxdemarzi/neography/wiki/Node-labels) - Create, get and delete node labels.
|
101
|
+
* [Transactions](https://github.com/maxdemarzi/neography/wiki/Transactions) - Begin, add to, commit, rollback transactions.
|
102
|
+
|
103
|
+
1.8+ features:
|
104
|
+
|
97
105
|
* [Nodes](https://github.com/maxdemarzi/neography/wiki/Nodes) - Create, get and delete nodes.
|
98
106
|
* [Node properties](https://github.com/maxdemarzi/neography/wiki/Node-properties) - Set, get and remove node properties.
|
99
107
|
* [Node relationships](https://github.com/maxdemarzi/neography/wiki/Node-relationships) - Create and get relationships between nodes.
|
data/lib/neography/rest.rb
CHANGED
@@ -136,10 +136,10 @@ module Neography
|
|
136
136
|
end
|
137
137
|
|
138
138
|
def commit_transaction(tx, statements=[])
|
139
|
-
if tx.is_a?(
|
140
|
-
@transactions.begin(tx, "commit")
|
141
|
-
else
|
139
|
+
if (tx.is_a?(Hash) || tx.is_a?(Integer))
|
142
140
|
@transactions.commit(tx, statements)
|
141
|
+
else
|
142
|
+
@transactions.begin(tx, "/commit")
|
143
143
|
end
|
144
144
|
end
|
145
145
|
|
@@ -60,15 +60,15 @@ module Neography
|
|
60
60
|
query = nil
|
61
61
|
parameters = nil
|
62
62
|
Array(statements).each do |statement|
|
63
|
-
if query
|
63
|
+
if query && parameters
|
64
64
|
array << {:statement => query, :parameters => {:props => parameters}}
|
65
65
|
query = statement
|
66
66
|
parameters = nil
|
67
|
-
elsif query
|
67
|
+
elsif query && statement.is_a?(String)
|
68
68
|
array << {:statement => query}
|
69
69
|
query = statement
|
70
70
|
parameters = nil
|
71
|
-
elsif query
|
71
|
+
elsif query && statement.is_a?(Hash)
|
72
72
|
array << {:statement => query, :parameters => {:props => parameters}}
|
73
73
|
query = nil
|
74
74
|
parameters = nil
|
data/lib/neography/version.rb
CHANGED
@@ -74,6 +74,28 @@ describe Neography::Rest do
|
|
74
74
|
existing_tx.should have_key("results")
|
75
75
|
existing_tx["results"].should_not be_empty
|
76
76
|
end
|
77
|
+
|
78
|
+
it "can commit an new transaction right away" do
|
79
|
+
tx = @neo.commit_transaction(["start n=node(0) return n"])
|
80
|
+
tx.should_not have_key("transaction")
|
81
|
+
tx.should have_key("results")
|
82
|
+
tx["results"].should_not be_empty
|
83
|
+
end
|
84
|
+
|
85
|
+
it "can commit an new transaction right away with parameters" do
|
86
|
+
tx = @neo.commit_transaction(["start n=node({id}) return n", {:id => 0}])
|
87
|
+
tx.should_not have_key("transaction")
|
88
|
+
tx.should have_key("results")
|
89
|
+
tx["results"].should_not be_empty
|
90
|
+
end
|
91
|
+
|
92
|
+
it "can commit an new transaction right away without parameters" do
|
93
|
+
tx = @neo.commit_transaction("start n=node(0) return n")
|
94
|
+
tx.should_not have_key("transaction")
|
95
|
+
tx.should have_key("results")
|
96
|
+
tx["results"].should_not be_empty
|
97
|
+
end
|
98
|
+
|
77
99
|
end
|
78
100
|
|
79
101
|
describe "rollback a transaction" do
|