arangorb 1.4.0 → 1.4.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3194dbef462d90449c67ec230d959dae501cada9
4
- data.tar.gz: 1cbc3970d660b05de9a0c00452d9b71113b559ca
3
+ metadata.gz: e7898e5b31c9c45cc10d0deccb84c18309f85e04
4
+ data.tar.gz: a3d414487bd4fdaba84bc5f3c1c72e23011942cf
5
5
  SHA512:
6
- metadata.gz: e457014e24277735b1822cfb8d89e2b8b66d489b1b9dc5c7ee98b3a27d5535e5474f8c7553fdebbac72da1437af0649f74ff36647a9397210d008acaa94fb5d3
7
- data.tar.gz: c8528ae92c500cc2b4468e7f1a62d78e41933ed6246280284ff589bb2f30b0f9132a42d86c840b134a5ebdc9606ce2cde4fe3525608e8fb00b3723cf051ccd33
6
+ metadata.gz: 0042e4fc89867ce6a3255bbe4a14f8d61a2ff7e2a1a91ed9f0f668da4823587e41be4823c643064dbf67855c23ffe3bdd5e38db28fe4c8a916e7ff8035dbf7ee
7
+ data.tar.gz: 848cb9a73042f29651be327028cad40329478d17dbc64a09401fb11b48b9252d20501b8986d6aef8db780087c63482df1cb8df882ac58359131b34617b7f0825
data/ArangoRB.gemspec CHANGED
@@ -4,7 +4,7 @@ require "rake"
4
4
 
5
5
  Gem::Specification.new do |s|
6
6
  s.name = 'arangorb'
7
- s.version = '1.4.0'
7
+ s.version = '1.4.1'
8
8
  s.authors = ['Stefano Martin']
9
9
  s.email = ['stefano@seluxit.com']
10
10
  s.homepage = 'https://github.com/StefanoMartin/ArangoRB'
data/README.md CHANGED
@@ -4,9 +4,9 @@ ArangoRB [![Gem Version](https://badge.fury.io/rb/arangorb.svg)](https://badge.f
4
4
  [ArangoDatabase](https://www.arangodb.com/) is a native multi-model database with flexible data models for document, graphs, and key-values.
5
5
  ArangoRB is a Gem to use ArangoDatabase with Ruby. ArangoRB is based on the [HTTP API of ArangoDB](https://docs.arangodb.com/3.0/HTTP/index.html).
6
6
 
7
- ArangoRB 0.1.0 - 1.3.0 have been tested with ArangoDB 3.0 with Ruby 2.3.1
8
- ArangoRB 1.4.0 have been tested with ArangoDB 3.1 with Ruby 2.3.3
9
- It requires the gem "HTTParty"
7
+ ArangoRB 0.1.0 - 1.3.0 have been tested with ArangoDB 3.0 with Ruby 2.3.1</br>
8
+ ArangoRB 1.4.0 has been tested with ArangoDB 3.1 with Ruby 2.3.3</br>
9
+ It requires the gem "HTTParty"</br>
10
10
 
11
11
  To install ArangoRB: `gem install arangorb`
12
12
 
data/lib/ArangoRB_Col.rb CHANGED
@@ -102,7 +102,7 @@ class ArangoCollection < ArangoServer
102
102
 
103
103
  # === POST ===
104
104
 
105
- def create(type: nil, journalSize: nil, keyOptions: nil, waitForSync: nil, doCompact: nil, isVolatile: nil, shardKeys: nil, numberOfShards: nil, isSystem: nil, indexBuckets: nil) # TESTED
105
+ def create(type: @type, journalSize: nil, keyOptions: nil, waitForSync: nil, doCompact: nil, isVolatile: nil, shardKeys: nil, numberOfShards: nil, isSystem: nil, indexBuckets: nil) # TESTED
106
106
  type = 3 if type == "Edge"
107
107
  type = nil if type == "Document"
108
108
  body = {
data/lib/ArangoRB_User.rb CHANGED
@@ -56,6 +56,14 @@ class ArangoUser < ArangoServer
56
56
  return_result result: result, caseTrue: true
57
57
  end
58
58
 
59
+ def grant_read(database: @@database) # TESTED
60
+ database = database.database if database.is_a?(ArangoDatabase)
61
+ body = { "grant" => "ro" }.to_json
62
+ request = @@request.merge({ :body => body })
63
+ result = self.class.put("/_api/user/#{@user}/database/#{database}", request)
64
+ return_result result: result, caseTrue: true
65
+ end
66
+
59
67
  def revoke(database: @@database) # TESTED
60
68
  database = database.database if database.is_a?(ArangoDatabase)
61
69
  body = { "grant" => "none" }.to_json
@@ -1,170 +1,170 @@
1
- require_relative './../../spec_helper'
2
-
3
- describe ArangoCollection do
4
- context "#new" do
5
- it "create a new instance without global" do
6
- myCollection = ArangoCollection.new collection: "MyCollection"
7
- expect(myCollection.collection).to eq "MyCollection"
8
- end
9
-
10
- it "create a new instance with global" do
11
- myCollection = ArangoCollection.new
12
- expect(myCollection.collection).to eq "MyCollection"
13
- end
14
-
15
- it "create a new instance with type Edge" do
16
- myCollection = ArangoCollection.new collection: "MyCollection", type: "Edge"
17
- expect(myCollection.type).to eq "Edge"
18
- end
19
- end
20
-
21
- context "#create" do
22
- it "create a new Collection" do
23
- @myCollection.destroy
24
- myCollection = @myCollection.create
25
- expect(myCollection.collection).to eq "MyCollection"
26
- end
27
-
28
- it "create a duplicate Collection" do
29
- myCollection = @myCollection.create
30
- expect(myCollection).to eq "duplicate name: duplicate name"
31
- end
32
-
33
- it "create a new Edge Collection" do
34
- @myEdgeCollection.destroy
35
- myCollection = @myEdgeCollection.create_edge_collection
36
- expect(myCollection.type).to eq "Edge"
37
- end
38
-
39
- it "create a new Document in the Collection" do
40
- myDocument = @myCollection.create_document document: {"Hello" => "World", "num" => 1}
41
- expect(myDocument.body["Hello"]).to eq "World"
42
- end
43
-
44
- it "create new Documents in the Collection" do
45
- myDocument = @myCollection.create_document document: [{"Ciao" => "Mondo", "num" => 1}, {"Hallo" => "Welt", "num" => 2}]
46
- expect(myDocument[0].body["Ciao"]).to eq "Mondo"
47
- end
48
-
49
- it "create a new Edge in the Collection" do
50
- myDoc = @myCollection.create_document document: [{"A" => "B", "num" => 1}, {"C" => "D", "num" => 3}]
51
- myEdge = @myEdgeCollection.create_edge from: myDoc[0].id, to: myDoc[1].id
52
- expect(myEdge.body["_from"]).to eq myDoc[0].id
53
- end
54
- end
55
-
56
- context "#info" do
57
- it "retrieve the Collection" do
58
- info = @myCollection.retrieve
59
- expect(info.collection).to eq "MyCollection"
60
- end
61
-
62
- it "properties of the Collection" do
63
- info = @myCollection.properties
64
- expect(info["name"]).to eq "MyCollection"
65
- end
66
-
67
- it "documents in the Collection" do
68
- info = @myCollection.count
69
- expect(info).to eq 5
70
- end
71
-
72
- it "statistics" do
73
- info = @myCollection.statistics
74
- expect(info["lastTick"]).to eq 0
75
- end
76
-
77
- it "checksum" do
78
- info = @myCollection.checksum
79
- expect(info.class).to eq String
80
- end
81
-
82
- it "list Documents" do
83
- info = @myCollection.allDocuments
84
- expect(info.length).to eq 5
85
- end
86
-
87
- it "search Documents by match" do
88
- info = @myCollection.documentsMatch match: {"num" => 1}
89
- expect(info.length).to eq 3
90
- end
91
-
92
- it "search Document by match" do
93
- info = @myCollection.documentMatch match: {"num" => 1}
94
- expect(info.collection.name).to eq "MyCollection"
95
- end
96
-
97
- it "search Document by key match" do
98
- docs = @myCollection.create_document document: [{"_key" => "ThisIsATest1", "test" => "fantastic"}, {"_key" => "ThisIsATest2"}]
99
- result = @myCollection.documentByKeys keys: ["ThisIsATest1", docs[1]]
100
- expect(result[0].body["test"]).to eq "fantastic"
101
- end
102
-
103
- it "remove Document by key match" do
104
- docs = @myCollection.create_document document: [{"_key" => "ThisIsATest3", "test" => "fantastic"}, {"_key" => "ThisIsATest4"}]
105
- result = @myCollection.removeByKeys keys: ["ThisIsATest3", docs[1]]
106
- expect(result).to eq 2
107
- end
108
-
109
- it "remove Document by match" do
110
- @myCollection.create_document document: [{"_key" => "ThisIsATest5", "test" => "fantastic"}, {"_key" => "ThisIsATest6"}]
111
- result = @myCollection.removeMatch match: {"test" => "fantastic"}
112
- expect(result).to eq 2
113
- end
114
-
115
- it "replace Document by match" do
116
- @myCollection.create_document document: {"test" => "fantastic", "val" => 4}
117
- result = @myCollection.replaceMatch match: {"test" => "fantastic"}, newValue: {"val" => 5}
118
- expect(result).to eq 1
119
- end
120
-
121
- it "update Document by match" do
122
- @myCollection.create_document document: {"test" => "fantastic2", "val" => 5}
123
- result = @myCollection.updateMatch match: {"val" => 5}, newValue: {"val" => 6}
124
- expect(result).to eq 2
125
- end
126
-
127
- it "search random Document" do
128
- info = @myCollection.random
129
- expect(info.collection.name).to eq "MyCollection"
130
- end
131
-
132
-
133
- end
134
-
135
- context "#modify" do
136
- it "load" do
137
- myCollection = @myCollection.load
138
- expect(myCollection.collection).to eq "MyCollection"
139
- end
140
-
141
- it "unload" do
142
- myCollection = @myCollection.unload
143
- expect(myCollection.collection).to eq "MyCollection"
144
- end
145
-
146
- it "change" do
147
- myCollection = @myCollection.change waitForSync: true
148
- expect(myCollection.body["waitForSync"]).to be true
149
- end
150
-
151
- it "rename" do
152
- myCollection = @myCollection.rename "MyCollection2"
153
- expect(myCollection.collection).to eq "MyCollection2"
154
- end
155
- end
156
-
157
- context "#truncate" do
158
- it "truncate a Collection" do
159
- myCollection = @myCollection.truncate
160
- expect(myCollection.count).to eq 0
161
- end
162
- end
163
-
164
- context "#destroy" do
165
- it "delete a Collection" do
166
- myCollection = @myCollection.destroy
167
- expect(myCollection).to be true
168
- end
169
- end
170
- end
1
+ require_relative './../../spec_helper'
2
+
3
+ describe ArangoCollection do
4
+ context "#new" do
5
+ it "create a new instance without global" do
6
+ myCollection = ArangoCollection.new collection: "MyCollection"
7
+ expect(myCollection.collection).to eq "MyCollection"
8
+ end
9
+
10
+ it "create a new instance with global" do
11
+ myCollection = ArangoCollection.new
12
+ expect(myCollection.collection).to eq "MyCollection"
13
+ end
14
+
15
+ it "create a new instance with type Edge" do
16
+ myCollection = ArangoCollection.new collection: "MyCollection", type: "Edge"
17
+ expect(myCollection.type).to eq "Edge"
18
+ end
19
+ end
20
+
21
+ context "#create" do
22
+ it "create a new Collection" do
23
+ @myCollection.destroy
24
+ myCollection = @myCollection.create
25
+ expect(myCollection.collection).to eq "MyCollection"
26
+ end
27
+
28
+ it "create a duplicate Collection" do
29
+ myCollection = @myCollection.create
30
+ expect(myCollection).to eq "duplicate name: duplicate name"
31
+ end
32
+
33
+ it "create a new Edge Collection" do
34
+ @myEdgeCollection.destroy
35
+ myCollection = @myEdgeCollection.create_edge_collection
36
+ expect(myCollection.type).to eq "Edge"
37
+ end
38
+
39
+ it "create a new Document in the Collection" do
40
+ myDocument = @myCollection.create_document document: {"Hello" => "World", "num" => 1}
41
+ expect(myDocument.body["Hello"]).to eq "World"
42
+ end
43
+
44
+ it "create new Documents in the Collection" do
45
+ myDocument = @myCollection.create_document document: [{"Ciao" => "Mondo", "num" => 1}, {"Hallo" => "Welt", "num" => 2}]
46
+ expect(myDocument[0].body["Ciao"]).to eq "Mondo"
47
+ end
48
+
49
+ it "create a new Edge in the Collection" do
50
+ myDoc = @myCollection.create_document document: [{"A" => "B", "num" => 1}, {"C" => "D", "num" => 3}]
51
+ myEdge = @myEdgeCollection.create_edge from: myDoc[0].id, to: myDoc[1].id
52
+ expect(myEdge.body["_from"]).to eq myDoc[0].id
53
+ end
54
+ end
55
+
56
+ context "#info" do
57
+ it "retrieve the Collection" do
58
+ info = @myCollection.retrieve
59
+ expect(info.collection).to eq "MyCollection"
60
+ end
61
+
62
+ it "properties of the Collection" do
63
+ info = @myCollection.properties
64
+ expect(info["name"]).to eq "MyCollection"
65
+ end
66
+
67
+ it "documents in the Collection" do
68
+ info = @myCollection.count
69
+ expect(info).to eq 5
70
+ end
71
+
72
+ it "statistics" do
73
+ info = @myCollection.statistics
74
+ expect(info["lastTick"]).to eq 0
75
+ end
76
+
77
+ it "checksum" do
78
+ info = @myCollection.checksum
79
+ expect(info.class).to eq String
80
+ end
81
+
82
+ it "list Documents" do
83
+ info = @myCollection.allDocuments
84
+ expect(info.length).to eq 5
85
+ end
86
+
87
+ it "search Documents by match" do
88
+ info = @myCollection.documentsMatch match: {"num" => 1}
89
+ expect(info.length).to eq 3
90
+ end
91
+
92
+ it "search Document by match" do
93
+ info = @myCollection.documentMatch match: {"num" => 1}
94
+ expect(info.collection.name).to eq "MyCollection"
95
+ end
96
+
97
+ it "search Document by key match" do
98
+ docs = @myCollection.create_document document: [{"_key" => "ThisIsATest1", "test" => "fantastic"}, {"_key" => "ThisIsATest2"}]
99
+ result = @myCollection.documentByKeys keys: ["ThisIsATest1", docs[1]]
100
+ expect(result[0].body["test"]).to eq "fantastic"
101
+ end
102
+
103
+ it "remove Document by key match" do
104
+ docs = @myCollection.create_document document: [{"_key" => "ThisIsATest3", "test" => "fantastic"}, {"_key" => "ThisIsATest4"}]
105
+ result = @myCollection.removeByKeys keys: ["ThisIsATest3", docs[1]]
106
+ expect(result).to eq 2
107
+ end
108
+
109
+ it "remove Document by match" do
110
+ @myCollection.create_document document: [{"_key" => "ThisIsATest5", "test" => "fantastic"}, {"_key" => "ThisIsATest6"}]
111
+ result = @myCollection.removeMatch match: {"test" => "fantastic"}
112
+ expect(result).to eq 2
113
+ end
114
+
115
+ it "replace Document by match" do
116
+ @myCollection.create_document document: {"test" => "fantastic", "val" => 4}
117
+ result = @myCollection.replaceMatch match: {"test" => "fantastic"}, newValue: {"val" => 5}
118
+ expect(result).to eq 1
119
+ end
120
+
121
+ it "update Document by match" do
122
+ @myCollection.create_document document: {"test" => "fantastic2", "val" => 5}
123
+ result = @myCollection.updateMatch match: {"val" => 5}, newValue: {"val" => 6}
124
+ expect(result).to eq 2
125
+ end
126
+
127
+ it "search random Document" do
128
+ info = @myCollection.random
129
+ expect(info.collection.name).to eq "MyCollection"
130
+ end
131
+
132
+
133
+ end
134
+
135
+ context "#modify" do
136
+ it "load" do
137
+ myCollection = @myCollection.load
138
+ expect(myCollection.collection).to eq "MyCollection"
139
+ end
140
+
141
+ it "unload" do
142
+ myCollection = @myCollection.unload
143
+ expect(myCollection.collection).to eq "MyCollection"
144
+ end
145
+
146
+ it "change" do
147
+ myCollection = @myCollection.change waitForSync: true
148
+ expect(myCollection.body["waitForSync"]).to be true
149
+ end
150
+
151
+ it "rename" do
152
+ myCollection = @myCollection.rename "MyCollection2"
153
+ expect(myCollection.collection).to eq "MyCollection2"
154
+ end
155
+ end
156
+
157
+ context "#truncate" do
158
+ it "truncate a Collection" do
159
+ myCollection = @myCollection.truncate
160
+ expect(myCollection.count).to eq 0
161
+ end
162
+ end
163
+
164
+ context "#destroy" do
165
+ it "delete a Collection" do
166
+ myCollection = @myCollection.destroy
167
+ expect(myCollection).to be true
168
+ end
169
+ end
170
+ end
@@ -1,79 +1,79 @@
1
- require_relative './../../spec_helper'
2
-
3
- describe ArangoDocument do
4
- context "#new" do
5
- it "create a new Document instance without global" do
6
- myDocument = ArangoDocument.new collection: "MyCollection", database: "MyDatabase"
7
- expect(myDocument.collection.name).to eq "MyCollection"
8
- end
9
-
10
- it "create a new instance with global" do
11
- myDocument = ArangoDocument.new key: "myKey", body: {"Hello" => "World"}
12
- expect(myDocument.key).to eq "myKey"
13
- end
14
-
15
- it "create a new Edge instance" do
16
- a = ArangoDocument.new(key: "myA", body: {"Hello" => "World"}).create
17
- b = ArangoDocument.new(key: "myB", body: {"Hello" => "World"}).create
18
- myEdgeDocument = ArangoDocument.new collection: "MyEdgeCollection", from: a, to: b
19
- expect(myEdgeDocument.body["_from"]).to eq a.id
20
- end
21
- end
22
-
23
- context "#create" do
24
- it "create a new Document" do
25
- @myDocument.destroy
26
- myDocument = @myDocument.create
27
- expect(myDocument.body["Hello"]).to eq "World"
28
- end
29
-
30
- it "create a duplicate Document" do
31
- myDocument = @myDocument.create
32
- expect(myDocument).to eq "cannot create document, unique constraint violated"
33
- end
34
-
35
- it "create a new Edge" do
36
- myDoc = @myCollection.create_document document: [{"A" => "B", "num" => 1}, {"C" => "D", "num" => 3}]
37
- myEdge = ArangoDocument.new collection: "MyEdgeCollection", from: myDoc[0].id, to: myDoc[1].id
38
- myEdge = myEdge.create
39
- expect(myEdge.body["_from"]).to eq myDoc[0].id
40
- end
41
- end
42
-
43
- context "#info" do
44
- it "retrieve Document" do
45
- myDocument = @myDocument.retrieve
46
- expect(myDocument.body["Hello"]).to eq "World"
47
- end
48
-
49
- it "retrieve Edges" do
50
- @myEdgeCollection.create_edge from: ["MyCollection/myA", "MyCollection/myB"], to: @myDocument
51
- myEdges = @myDocument.retrieve_edges(collection: @myEdgeCollection)
52
- expect(myEdges.length).to eq 2
53
- end
54
-
55
- it "going in different directions" do
56
- myDocument = @myDocument.in("MyEdgeCollection")[0].from.out(@myEdgeCollection)[0].to
57
- expect(myDocument.id).to eq @myDocument.id
58
- end
59
- end
60
-
61
- context "#modify" do
62
- it "replace" do
63
- myDocument = @myDocument.replace body: {"value" => 3}
64
- expect(myDocument.body["value"]).to eq 3
65
- end
66
-
67
- it "update" do
68
- myDocument = @myDocument.update body: {"time" => 13}
69
- expect(myDocument.body["value"]).to eq 3
70
- end
71
- end
72
-
73
- context "#destroy" do
74
- it "delete a Document" do
75
- result = @myDocument.destroy
76
- expect(result).to eq true
77
- end
78
- end
79
- end
1
+ require_relative './../../spec_helper'
2
+
3
+ describe ArangoDocument do
4
+ context "#new" do
5
+ it "create a new Document instance without global" do
6
+ myDocument = ArangoDocument.new collection: "MyCollection", database: "MyDatabase"
7
+ expect(myDocument.collection.name).to eq "MyCollection"
8
+ end
9
+
10
+ it "create a new instance with global" do
11
+ myDocument = ArangoDocument.new key: "myKey", body: {"Hello" => "World"}
12
+ expect(myDocument.key).to eq "myKey"
13
+ end
14
+
15
+ it "create a new Edge instance" do
16
+ a = ArangoDocument.new(key: "myA", body: {"Hello" => "World"}).create
17
+ b = ArangoDocument.new(key: "myB", body: {"Hello" => "World"}).create
18
+ myEdgeDocument = ArangoDocument.new collection: "MyEdgeCollection", from: a, to: b
19
+ expect(myEdgeDocument.body["_from"]).to eq a.id
20
+ end
21
+ end
22
+
23
+ context "#create" do
24
+ it "create a new Document" do
25
+ @myDocument.destroy
26
+ myDocument = @myDocument.create
27
+ expect(myDocument.body["Hello"]).to eq "World"
28
+ end
29
+
30
+ it "create a duplicate Document" do
31
+ myDocument = @myDocument.create
32
+ expect(myDocument).to eq "cannot create document, unique constraint violated"
33
+ end
34
+
35
+ it "create a new Edge" do
36
+ myDoc = @myCollection.create_document document: [{"A" => "B", "num" => 1}, {"C" => "D", "num" => 3}]
37
+ myEdge = ArangoDocument.new collection: "MyEdgeCollection", from: myDoc[0].id, to: myDoc[1].id
38
+ myEdge = myEdge.create
39
+ expect(myEdge.body["_from"]).to eq myDoc[0].id
40
+ end
41
+ end
42
+
43
+ context "#info" do
44
+ it "retrieve Document" do
45
+ myDocument = @myDocument.retrieve
46
+ expect(myDocument.body["Hello"]).to eq "World"
47
+ end
48
+
49
+ it "retrieve Edges" do
50
+ @myEdgeCollection.create_edge from: ["MyCollection/myA", "MyCollection/myB"], to: @myDocument
51
+ myEdges = @myDocument.retrieve_edges(collection: @myEdgeCollection)
52
+ expect(myEdges.length).to eq 2
53
+ end
54
+
55
+ it "going in different directions" do
56
+ myDocument = @myDocument.in("MyEdgeCollection")[0].from.out(@myEdgeCollection)[0].to
57
+ expect(myDocument.id).to eq @myDocument.id
58
+ end
59
+ end
60
+
61
+ context "#modify" do
62
+ it "replace" do
63
+ myDocument = @myDocument.replace body: {"value" => 3}
64
+ expect(myDocument.body["value"]).to eq 3
65
+ end
66
+
67
+ it "update" do
68
+ myDocument = @myDocument.update body: {"time" => 13}
69
+ expect(myDocument.body["value"]).to eq 3
70
+ end
71
+ end
72
+
73
+ context "#destroy" do
74
+ it "delete a Document" do
75
+ result = @myDocument.destroy
76
+ expect(result).to eq true
77
+ end
78
+ end
79
+ end
@@ -1,65 +1,65 @@
1
- require_relative './../../spec_helper'
2
-
3
- describe ArangoVertex do
4
- context "#new" do
5
- it "create a new Document instance without global" do
6
- myVertex = ArangoVertex.new collection: "MyCollection", database: "MyDatabase", graph: "MyGraph"
7
- expect(myVertex.collection.name).to eq "MyCollection"
8
- end
9
-
10
- it "create a new instance with global" do
11
- myVertex = ArangoVertex.new key: "myKey", body: {"Hello" => "World"}
12
- expect(myVertex.key).to eq "myKey"
13
- end
14
- end
15
-
16
- context "#create" do
17
- it "create a new Document" do
18
- @myVertex.destroy
19
- myVertex = @myVertex.create
20
- expect(myVertex.body["Hello"]).to eq "World"
21
- end
22
-
23
- it "create a duplicate Document" do
24
- myVertex = @myVertex.create
25
- expect(myVertex).to eq "unique constraint violated"
26
- end
27
- end
28
-
29
- context "#info" do
30
- it "retrieve Document" do
31
- myVertex = @myVertex.retrieve
32
- expect(myVertex.body["Hello"]).to eq "World"
33
- end
34
-
35
- it "retrieve Edges" do
36
- @myEdgeCollection.create_edge from: ["MyCollection/myA", "MyCollection/myB"], to: @myVertex
37
- myEdges = @myVertex.retrieve_edges(collection: @myEdgeCollection)
38
- expect(myEdges.length).to eq 2
39
- end
40
-
41
- # it "going in different directions" do
42
- # myVertex = @myVertex.in("MyEdgeCollection")[0].from.out(@myEdgeCollection)[0].to
43
- # expect(myVertex.id).to eq @myVertex.id
44
- # end
45
- end
46
-
47
- context "#modify" do
48
- it "replace" do
49
- myVertex = @myVertex.replace body: {"value" => 3}
50
- expect(myVertex.body["value"]).to eq 3
51
- end
52
-
53
- it "update" do
54
- myVertex = @myVertex.update body: {"time" => 13}
55
- expect(myVertex.body["value"]).to eq 3
56
- end
57
- end
58
-
59
- context "#destroy" do
60
- it "delete a Document" do
61
- result = @myVertex.destroy
62
- expect(result).to eq true
63
- end
64
- end
65
- end
1
+ require_relative './../../spec_helper'
2
+
3
+ describe ArangoVertex do
4
+ context "#new" do
5
+ it "create a new Document instance without global" do
6
+ myVertex = ArangoVertex.new collection: "MyCollection", database: "MyDatabase", graph: "MyGraph"
7
+ expect(myVertex.collection.name).to eq "MyCollection"
8
+ end
9
+
10
+ it "create a new instance with global" do
11
+ myVertex = ArangoVertex.new key: "myKey", body: {"Hello" => "World"}
12
+ expect(myVertex.key).to eq "myKey"
13
+ end
14
+ end
15
+
16
+ context "#create" do
17
+ it "create a new Document" do
18
+ @myVertex.destroy
19
+ myVertex = @myVertex.create
20
+ expect(myVertex.body["Hello"]).to eq "World"
21
+ end
22
+
23
+ it "create a duplicate Document" do
24
+ myVertex = @myVertex.create
25
+ expect(myVertex).to eq "unique constraint violated"
26
+ end
27
+ end
28
+
29
+ context "#info" do
30
+ it "retrieve Document" do
31
+ myVertex = @myVertex.retrieve
32
+ expect(myVertex.body["Hello"]).to eq "World"
33
+ end
34
+
35
+ it "retrieve Edges" do
36
+ @myEdgeCollection.create_edge from: ["MyCollection/myA", "MyCollection/myB"], to: @myVertex
37
+ myEdges = @myVertex.retrieve_edges(collection: @myEdgeCollection)
38
+ expect(myEdges.length).to eq 2
39
+ end
40
+
41
+ # it "going in different directions" do
42
+ # myVertex = @myVertex.in("MyEdgeCollection")[0].from.out(@myEdgeCollection)[0].to
43
+ # expect(myVertex.id).to eq @myVertex.id
44
+ # end
45
+ end
46
+
47
+ context "#modify" do
48
+ it "replace" do
49
+ myVertex = @myVertex.replace body: {"value" => 3}
50
+ expect(myVertex.body["value"]).to eq 3
51
+ end
52
+
53
+ it "update" do
54
+ myVertex = @myVertex.update body: {"time" => 13}
55
+ expect(myVertex.body["value"]).to eq 3
56
+ end
57
+ end
58
+
59
+ context "#destroy" do
60
+ it "delete a Document" do
61
+ result = @myVertex.destroy
62
+ expect(result).to eq true
63
+ end
64
+ end
65
+ end
@@ -1,72 +1,72 @@
1
- require_relative './../../spec_helper'
2
-
3
- describe ArangoUser do
4
- context "#new" do
5
- it "create a new User without global" do
6
- myUser = ArangoUser.new user: "MyUser2", password: "Test"
7
- expect(myUser.user).to eq "MyUser2"
8
- end
9
-
10
- it "create a new instance with global" do
11
- myUser = ArangoUser.new
12
- expect(myUser.user).to eq "MyUser"
13
- end
14
- end
15
-
16
- context "#create" do
17
- it "create a new user" do
18
- @myUser.destroy
19
- @myUser = ArangoUser.new user: "MyUser", password: "Test"
20
- result = @myUser.create
21
- expect(result.user).to eq "MyUser"
22
- end
23
-
24
- it "create a duplicate user" do
25
- result = @myUser.create
26
- expect(result).to eq "duplicate user"
27
- end
28
- end
29
-
30
- context "#info" do
31
- it "retrieve User" do
32
- myUser = @myUser.retrieve
33
- expect(myUser.active).to be true
34
- end
35
- end
36
-
37
- context "#database" do
38
- it "grant" do
39
- result = @myUser.grant database: @myDatabase
40
- expect(result).to be true
41
- end
42
-
43
- it "databases" do
44
- result = @myUser.databases
45
- expect(result["MyDatabase"]).to eq "rw"
46
- end
47
-
48
- it "revoke" do
49
- result = @myUser.revoke database: @myDatabase
50
- expect(result).to be true
51
- end
52
- end
53
-
54
- context "#modify" do
55
- it "replace" do
56
- @myUser.replace active: false, password: "Test"
57
- expect(@myUser.active).to be false
58
- end
59
-
60
- it "update" do
61
- @myUser.update active: false, password: "Test"
62
- expect(@myUser.active).to be false
63
- end
64
- end
65
-
66
- context "#destroy" do
67
- it "destroy" do
68
- result = @myUser.destroy
69
- expect(result).to be true
70
- end
71
- end
72
- end
1
+ require_relative './../../spec_helper'
2
+
3
+ describe ArangoUser do
4
+ context "#new" do
5
+ it "create a new User without global" do
6
+ myUser = ArangoUser.new user: "MyUser2", password: "Test"
7
+ expect(myUser.user).to eq "MyUser2"
8
+ end
9
+
10
+ it "create a new instance with global" do
11
+ myUser = ArangoUser.new
12
+ expect(myUser.user).to eq "MyUser"
13
+ end
14
+ end
15
+
16
+ context "#create" do
17
+ it "create a new user" do
18
+ @myUser.destroy
19
+ @myUser = ArangoUser.new user: "MyUser", password: "Test"
20
+ result = @myUser.create
21
+ expect(result.user).to eq "MyUser"
22
+ end
23
+
24
+ it "create a duplicate user" do
25
+ result = @myUser.create
26
+ expect(result).to eq "duplicate user"
27
+ end
28
+ end
29
+
30
+ context "#info" do
31
+ it "retrieve User" do
32
+ myUser = @myUser.retrieve
33
+ expect(myUser.active).to be true
34
+ end
35
+ end
36
+
37
+ context "#database" do
38
+ it "grant" do
39
+ result = @myUser.grant database: @myDatabase
40
+ expect(result).to be true
41
+ end
42
+
43
+ it "databases" do
44
+ result = @myUser.databases
45
+ expect(result["MyDatabase"]).to eq "rw"
46
+ end
47
+
48
+ it "revoke" do
49
+ result = @myUser.revoke database: @myDatabase
50
+ expect(result).to be true
51
+ end
52
+ end
53
+
54
+ context "#modify" do
55
+ it "replace" do
56
+ @myUser.replace active: false, password: "Test"
57
+ expect(@myUser.active).to be false
58
+ end
59
+
60
+ it "update" do
61
+ @myUser.update active: false, password: "Test"
62
+ expect(@myUser.active).to be false
63
+ end
64
+ end
65
+
66
+ context "#destroy" do
67
+ it "destroy" do
68
+ result = @myUser.destroy
69
+ expect(result).to be true
70
+ end
71
+ end
72
+ end
data/spec/spec_helper.rb CHANGED
@@ -1,42 +1,42 @@
1
- require "rspec"
2
- require "arangorb"
3
- # require_relative File.expand_path('../../lib/arangorb', __FILE__)
4
-
5
- RSpec.configure do |config|
6
- config.color = true
7
- config.before(:all) do
8
- ArangoServer.default_server user: "root", password: "tretretre", server: "localhost", port: "8529"
9
- ArangoServer.database = "MyDatabase"
10
- ArangoServer.collection = "MyCollection"
11
- ArangoServer.graph = "MyGraph"
12
- ArangoServer.user = "MyUser"
13
- ArangoServer.verbose = false
14
- ArangoServer.async = false
15
- @myDatabase = ArangoDatabase.new.create
16
- @myGraph = ArangoGraph.new.create
17
- @myCollection = ArangoCollection.new.create
18
- @myCollectionB = ArangoCollection.new(collection: "MyCollectionB").create
19
- @myDocument = ArangoDocument.new(body: {"Hello" => "World", "num" => 1}, key: "FirstDocument").create
20
- @myEdgeCollection = ArangoCollection.new(collection: "MyEdgeCollection").create_edge_collection
21
- @myGraph.addVertexCollection collection: "MyCollection"
22
- @myGraph.addEdgeCollection collection: "MyEdgeCollection", from: "MyCollection", to: "MyCollection"
23
- @myAQL = ArangoAQL.new query: "FOR u IN MyCollection RETURN u.num"
24
- @myDoc = @myCollection.create_document document: [{"num" => 1, "_key" => "FirstKey"}, {"num" => 1}, {"num" => 1}, {"num" => 1}, {"num" => 1}, {"num" => 1}, {"num" => 1}, {"num" => 2}, {"num" => 2}, {"num" => 2}, {"num" => 3}, {"num" => 2}, {"num" => 5}, {"num" => 2}]
25
- @myEdgeCollection.create_edge from: [@myDoc[0].id, @myDoc[1].id, @myDoc[2].id, @myDoc[3].id, @myDoc[7].id], to: [@myDoc[4].id, @myDoc[5].id, @myDoc[6].id, @myDoc[8].id]
26
- @myVertex = ArangoVertex.new(body: {"Hello" => "World", "num" => 1}, key: "FirstVertex").create
27
- @vertexA = ArangoVertex.new(body: {"Hello" => "World", "num" => 1}).create
28
- @vertexB = ArangoVertex.new(body: {"Hello" => "Moon", "num" => 2}).create
29
- @myEdge = ArangoEdge.new(from: @vertexA, to: @vertexB, collection: "MyEdgeCollection").create
30
- @myIndex = @myCollection.createIndex unique: false, fields: "num", type: "hash", id: "MyIndex"
31
- @myTraversal = ArangoTraversal.new
32
- @myUser = ArangoUser.new.create
33
- @myTask = ArangoTask.new id: "mytaskid", name: "MyTaskID", command: "(function(params) { require('@arangodb').print(params); })(params)", params: {"foo" => "bar", "bar" => "foo"}, period: 60
34
- end
35
-
36
- config.after(:all) do
37
- ArangoDatabase.new.destroy
38
- ArangoUser.new.destroy
39
- @myUser.destroy unless @myUser.nil?
40
- @myIndex.destroy unless @myIndex.nil?
41
- end
42
- end
1
+ require "rspec"
2
+ require "arangorb"
3
+ # require_relative File.expand_path('../../lib/arangorb', __FILE__)
4
+
5
+ RSpec.configure do |config|
6
+ config.color = true
7
+ config.before(:all) do
8
+ ArangoServer.default_server user: "root", password: "tretretre", server: "localhost", port: "8529"
9
+ ArangoServer.database = "MyDatabase"
10
+ ArangoServer.collection = "MyCollection"
11
+ ArangoServer.graph = "MyGraph"
12
+ ArangoServer.user = "MyUser"
13
+ ArangoServer.verbose = false
14
+ ArangoServer.async = false
15
+ @myDatabase = ArangoDatabase.new.create
16
+ @myGraph = ArangoGraph.new.create
17
+ @myCollection = ArangoCollection.new.create
18
+ @myCollectionB = ArangoCollection.new(collection: "MyCollectionB").create
19
+ @myDocument = ArangoDocument.new(body: {"Hello" => "World", "num" => 1}, key: "FirstDocument").create
20
+ @myEdgeCollection = ArangoCollection.new(collection: "MyEdgeCollection").create_edge_collection
21
+ @myGraph.addVertexCollection collection: "MyCollection"
22
+ @myGraph.addEdgeCollection collection: "MyEdgeCollection", from: "MyCollection", to: "MyCollection"
23
+ @myAQL = ArangoAQL.new query: "FOR u IN MyCollection RETURN u.num"
24
+ @myDoc = @myCollection.create_document document: [{"num" => 1, "_key" => "FirstKey"}, {"num" => 1}, {"num" => 1}, {"num" => 1}, {"num" => 1}, {"num" => 1}, {"num" => 1}, {"num" => 2}, {"num" => 2}, {"num" => 2}, {"num" => 3}, {"num" => 2}, {"num" => 5}, {"num" => 2}]
25
+ @myEdgeCollection.create_edge from: [@myDoc[0].id, @myDoc[1].id, @myDoc[2].id, @myDoc[3].id, @myDoc[7].id], to: [@myDoc[4].id, @myDoc[5].id, @myDoc[6].id, @myDoc[8].id]
26
+ @myVertex = ArangoVertex.new(body: {"Hello" => "World", "num" => 1}, key: "FirstVertex").create
27
+ @vertexA = ArangoVertex.new(body: {"Hello" => "World", "num" => 1}).create
28
+ @vertexB = ArangoVertex.new(body: {"Hello" => "Moon", "num" => 2}).create
29
+ @myEdge = ArangoEdge.new(from: @vertexA, to: @vertexB, collection: "MyEdgeCollection").create
30
+ @myIndex = @myCollection.createIndex unique: false, fields: "num", type: "hash", id: "MyIndex"
31
+ @myTraversal = ArangoTraversal.new
32
+ @myUser = ArangoUser.new.create
33
+ @myTask = ArangoTask.new id: "mytaskid", name: "MyTaskID", command: "(function(params) { require('@arangodb').print(params); })(params)", params: {"foo" => "bar", "bar" => "foo"}, period: 60
34
+ end
35
+
36
+ config.after(:all) do
37
+ ArangoDatabase.new.destroy
38
+ ArangoUser.new.destroy
39
+ @myUser.destroy unless @myUser.nil?
40
+ @myIndex.destroy unless @myIndex.nil?
41
+ end
42
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: arangorb
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 1.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stefano Martin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-06-04 00:00:00.000000000 Z
11
+ date: 2018-02-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
@@ -105,7 +105,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
105
105
  version: '0'
106
106
  requirements: []
107
107
  rubyforge_project:
108
- rubygems_version: 2.5.2
108
+ rubygems_version: 2.6.12
109
109
  signing_key:
110
110
  specification_version: 4
111
111
  summary: A simple ruby client for ArangoDB