arangorb 1.2.0 → 1.3.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.
Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. data/ArangoRB.gemspec +18 -18
  3. data/Gemfile +8 -7
  4. data/LICENSE +21 -21
  5. data/README.md +906 -867
  6. data/lib/ArangoRB_AQL.rb +181 -160
  7. data/lib/ArangoRB_Cache.rb +174 -174
  8. data/lib/ArangoRB_Col.rb +526 -499
  9. data/lib/ArangoRB_DB.rb +363 -339
  10. data/lib/ArangoRB_Doc.rb +319 -298
  11. data/lib/ArangoRB_Edg.rb +184 -169
  12. data/lib/ArangoRB_Gra.rb +201 -180
  13. data/lib/ArangoRB_Index.rb +135 -115
  14. data/lib/ArangoRB_Replication.rb +261 -0
  15. data/lib/ArangoRB_Ser.rb +446 -441
  16. data/lib/ArangoRB_Task.rb +129 -113
  17. data/lib/ArangoRB_Tra.rb +169 -142
  18. data/lib/ArangoRB_Tran.rb +68 -53
  19. data/lib/ArangoRB_User.rb +149 -136
  20. data/lib/ArangoRB_Ver.rb +162 -147
  21. data/lib/arangorb.rb +16 -15
  22. data/spec/arangoRB_helper.rb +4 -4
  23. data/spec/arangoRestart_helper.rb +14 -14
  24. data/spec/lib/0.1.0/arangoAQL_helper.rb +64 -64
  25. data/spec/lib/0.1.0/arangoC_helper.rb +170 -170
  26. data/spec/lib/0.1.0/arangoDB_helper.rb +119 -119
  27. data/spec/lib/0.1.0/arangoDoc_helper.rb +79 -79
  28. data/spec/lib/0.1.0/arangoE_helper.rb +50 -50
  29. data/spec/lib/0.1.0/arangoG_helper.rb +78 -78
  30. data/spec/lib/0.1.0/arangoS_helper.rb +37 -37
  31. data/spec/lib/0.1.0/arangoT_helper.rb +48 -48
  32. data/spec/lib/0.1.0/arangoV_helper.rb +65 -65
  33. data/spec/lib/1.0.0/arangoC_helper.rb +73 -73
  34. data/spec/lib/1.0.0/arangoDB_helper.rb +48 -48
  35. data/spec/lib/1.0.0/arangoI_helper.rb +43 -43
  36. data/spec/lib/1.0.0/arangoS_helper.rb +192 -192
  37. data/spec/lib/1.0.0/arangoTa_helper.rb +49 -49
  38. data/spec/lib/1.0.0/arangoTr_helper.rb +15 -15
  39. data/spec/lib/1.0.0/arangoU_helper.rb +72 -72
  40. data/spec/lib/1.1.0/arangoRB_helper.rb +144 -144
  41. data/spec/lib/1.1.0/arangoRB_walks_helper.rb +19 -19
  42. data/spec/lib/1.2.0/arangoCache_helper.rb +66 -66
  43. data/spec/lib/1.3.0/arangoHash_helper.rb +30 -0
  44. data/spec/lib/arangoRB_0.1.0_helper.rb +9 -9
  45. data/spec/lib/arangoRB_1.0.0_helper.rb +6 -6
  46. data/spec/lib/arangoRB_1.1.0_helper.rb +2 -2
  47. data/spec/lib/arangoRB_1.2.0_helper.rb +2 -1
  48. data/spec/spec_helper.rb +41 -41
  49. metadata +6 -5
@@ -1,119 +1,119 @@
1
- require_relative './../../spec_helper'
2
-
3
- describe ArangoDatabase do
4
-
5
- context "#new" do
6
- it "create a new instance without global" do
7
- myDatabase = ArangoDatabase.new database: "MyDatabase"
8
- expect(myDatabase.database).to eq "MyDatabase"
9
- end
10
-
11
- it "create a new instance with global" do
12
- myDatabase = ArangoDatabase.new
13
- expect(myDatabase.database).to eq "MyDatabase"
14
- end
15
- end
16
-
17
- context "#create" do
18
- it "create a new Database" do
19
- @myDatabase.destroy
20
- myDatabase = @myDatabase.create
21
- expect(myDatabase.database).to eq "MyDatabase"
22
- end
23
-
24
- it "create a duplicate Database" do
25
- myDatabase = @myDatabase.create
26
- expect(myDatabase).to eq "duplicate name"
27
- end
28
- end
29
-
30
- context "#info" do
31
- it "obtain general info" do
32
- info = @myDatabase.info
33
- expect(info["name"]).to eq "MyDatabase"
34
- end
35
-
36
- it "list databases" do
37
- list = ArangoDatabase.databases
38
- expect(list.length).to be >= 1
39
- end
40
-
41
- it "list collections" do
42
- list = @myDatabase.collections
43
- expect(list.length).to be 0
44
- end
45
-
46
- it "list graphs" do
47
- list = @myDatabase.graphs
48
- expect(list.length).to be 0
49
- end
50
- end
51
-
52
- context "#query" do
53
- it "properties" do
54
- expect(@myDatabase.propertiesQuery["enabled"]).to be true
55
- end
56
-
57
- it "current" do
58
- expect(@myDatabase.currentQuery).to eq []
59
- end
60
-
61
- it "slow" do
62
- expect(@myDatabase.slowQuery).to eq []
63
- end
64
- end
65
-
66
- context "#delete query" do
67
- it "stopSlow" do
68
- expect(@myDatabase.stopSlowQuery).to be true
69
- end
70
-
71
- it "kill" do
72
- @myCollection = ArangoCollection.new.create
73
- @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}]
74
- @myAQL.size = 3
75
- @myAQL.execute
76
- expect((@myDatabase.killQuery query: @myAQL).split(" ")[0]).to eq "cannot"
77
- end
78
-
79
- it "changeProperties" do
80
- result = @myDatabase.changePropertiesQuery maxSlowQueries: 65
81
- expect(result["maxSlowQueries"]).to eq 65
82
- end
83
- end
84
-
85
- context "#cache" do
86
- it "clear" do
87
- expect(@myDatabase.clearCache).to be true
88
- end
89
-
90
- it "change Property Cache" do
91
- @myDatabase.changePropertyCache maxResults: 130
92
- expect(@myDatabase.propertyCache["maxResults"]).to eq 130
93
- end
94
- end
95
-
96
- context "#function" do
97
- it "create Function" do
98
- result = @myDatabase.createFunction name: "myfunctions::temperature::celsiustofahrenheit", code: "function (celsius) { return celsius * 1.8 + 32; }"
99
- expect(result.class).to eq Hash
100
- end
101
-
102
- it "list Functions" do
103
- result = @myDatabase.functions
104
- expect(result[0]["name"]).to eq "myfunctions::temperature::celsiustofahrenheit"
105
- end
106
-
107
- it "delete Function" do
108
- result = @myDatabase.deleteFunction name: "myfunctions::temperature::celsiustofahrenheit"
109
- expect(result).to be true
110
- end
111
- end
112
-
113
- context "#destroy" do
114
- it "delete a Database" do
115
- myDatabase = @myDatabase.destroy
116
- expect(myDatabase).to be true
117
- end
118
- end
119
- end
1
+ require_relative './../../spec_helper'
2
+
3
+ describe ArangoDatabase do
4
+
5
+ context "#new" do
6
+ it "create a new instance without global" do
7
+ myDatabase = ArangoDatabase.new database: "MyDatabase"
8
+ expect(myDatabase.database).to eq "MyDatabase"
9
+ end
10
+
11
+ it "create a new instance with global" do
12
+ myDatabase = ArangoDatabase.new
13
+ expect(myDatabase.database).to eq "MyDatabase"
14
+ end
15
+ end
16
+
17
+ context "#create" do
18
+ it "create a new Database" do
19
+ @myDatabase.destroy
20
+ myDatabase = @myDatabase.create
21
+ expect(myDatabase.database).to eq "MyDatabase"
22
+ end
23
+
24
+ it "create a duplicate Database" do
25
+ myDatabase = @myDatabase.create
26
+ expect(myDatabase).to eq "duplicate name"
27
+ end
28
+ end
29
+
30
+ context "#info" do
31
+ it "obtain general info" do
32
+ info = @myDatabase.info
33
+ expect(info["name"]).to eq "MyDatabase"
34
+ end
35
+
36
+ it "list databases" do
37
+ list = ArangoDatabase.databases
38
+ expect(list.length).to be >= 1
39
+ end
40
+
41
+ it "list collections" do
42
+ list = @myDatabase.collections
43
+ expect(list.length).to be 0
44
+ end
45
+
46
+ it "list graphs" do
47
+ list = @myDatabase.graphs
48
+ expect(list.length).to be 0
49
+ end
50
+ end
51
+
52
+ context "#query" do
53
+ it "properties" do
54
+ expect(@myDatabase.propertiesQuery["enabled"]).to be true
55
+ end
56
+
57
+ it "current" do
58
+ expect(@myDatabase.currentQuery).to eq []
59
+ end
60
+
61
+ it "slow" do
62
+ expect(@myDatabase.slowQuery).to eq []
63
+ end
64
+ end
65
+
66
+ context "#delete query" do
67
+ it "stopSlow" do
68
+ expect(@myDatabase.stopSlowQuery).to be true
69
+ end
70
+
71
+ it "kill" do
72
+ @myCollection = ArangoCollection.new.create
73
+ @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}]
74
+ @myAQL.size = 3
75
+ @myAQL.execute
76
+ expect((@myDatabase.killQuery query: @myAQL).split(" ")[0]).to eq "cannot"
77
+ end
78
+
79
+ it "changeProperties" do
80
+ result = @myDatabase.changePropertiesQuery maxSlowQueries: 65
81
+ expect(result["maxSlowQueries"]).to eq 65
82
+ end
83
+ end
84
+
85
+ context "#cache" do
86
+ it "clear" do
87
+ expect(@myDatabase.clearCache).to be true
88
+ end
89
+
90
+ it "change Property Cache" do
91
+ @myDatabase.changePropertyCache maxResults: 130
92
+ expect(@myDatabase.propertyCache["maxResults"]).to eq 130
93
+ end
94
+ end
95
+
96
+ context "#function" do
97
+ it "create Function" do
98
+ result = @myDatabase.createFunction name: "myfunctions::temperature::celsiustofahrenheit", code: "function (celsius) { return celsius * 1.8 + 32; }"
99
+ expect(result.class).to eq Hash
100
+ end
101
+
102
+ it "list Functions" do
103
+ result = @myDatabase.functions
104
+ expect(result[0]["name"]).to eq "myfunctions::temperature::celsiustofahrenheit"
105
+ end
106
+
107
+ it "delete Function" do
108
+ result = @myDatabase.deleteFunction name: "myfunctions::temperature::celsiustofahrenheit"
109
+ expect(result).to be true
110
+ end
111
+ end
112
+
113
+ context "#destroy" do
114
+ it "delete a Database" do
115
+ myDatabase = @myDatabase.destroy
116
+ expect(myDatabase).to be true
117
+ end
118
+ end
119
+ 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,50 +1,50 @@
1
- require_relative './../../spec_helper'
2
-
3
- describe ArangoEdge do
4
- context "#new" do
5
- it "create a new Edge instance" do
6
- a = ArangoVertex.new(key: "myA", body: {"Hello" => "World"}).create
7
- b = ArangoVertex.new(key: "myB", body: {"Hello" => "World"}).create
8
- myEdgeDocument = ArangoEdge.new collection: "MyEdgeCollection", from: a, to: b
9
- expect(myEdgeDocument.body["_from"]).to eq a.id
10
- end
11
- end
12
-
13
- context "#create" do
14
- it "create a new Edge" do
15
- myDoc = @myCollection.create_document document: [{"A" => "B", "num" => 1}, {"C" => "D", "num" => 3}]
16
- myEdge = ArangoEdge.new from: myDoc[0].id, to: myDoc[1].id, collection: "MyEdgeCollection"
17
- myEdge = myEdge.create
18
- expect(myEdge.body["_from"]).to eq myDoc[0].id
19
- end
20
- end
21
-
22
- context "#info" do
23
- it "retrieve Document" do
24
- myDocument = @myEdge.retrieve
25
- expect(myDocument.collection.name).to eq "MyEdgeCollection"
26
- end
27
- end
28
-
29
- context "#modify" do
30
- it "replace" do
31
- a = ArangoVertex.new(body: {"Hello" => "World"}).create
32
- b = ArangoVertex.new(body: {"Hello" => "World!!"}).create
33
- myDocument = @myEdge.replace body: {"_from" => a.id, "_to" => b.id}
34
- expect(myDocument.body["_from"]).to eq a.id
35
- end
36
-
37
- it "update" do
38
- cc = ArangoVertex.new(body: {"Hello" => "World!!!"}).create
39
- myDocument = @myEdge.update body: {"_to" => cc.id}
40
- expect(myDocument.body["_to"]).to eq cc.id
41
- end
42
- end
43
-
44
- context "#destroy" do
45
- it "delete a Document" do
46
- result = @myEdge.destroy
47
- expect(result).to eq true
48
- end
49
- end
50
- end
1
+ require_relative './../../spec_helper'
2
+
3
+ describe ArangoEdge do
4
+ context "#new" do
5
+ it "create a new Edge instance" do
6
+ a = ArangoVertex.new(key: "myA", body: {"Hello" => "World"}).create
7
+ b = ArangoVertex.new(key: "myB", body: {"Hello" => "World"}).create
8
+ myEdgeDocument = ArangoEdge.new collection: "MyEdgeCollection", from: a, to: b
9
+ expect(myEdgeDocument.body["_from"]).to eq a.id
10
+ end
11
+ end
12
+
13
+ context "#create" do
14
+ it "create a new Edge" do
15
+ myDoc = @myCollection.create_document document: [{"A" => "B", "num" => 1}, {"C" => "D", "num" => 3}]
16
+ myEdge = ArangoEdge.new from: myDoc[0].id, to: myDoc[1].id, collection: "MyEdgeCollection"
17
+ myEdge = myEdge.create
18
+ expect(myEdge.body["_from"]).to eq myDoc[0].id
19
+ end
20
+ end
21
+
22
+ context "#info" do
23
+ it "retrieve Document" do
24
+ myDocument = @myEdge.retrieve
25
+ expect(myDocument.collection.name).to eq "MyEdgeCollection"
26
+ end
27
+ end
28
+
29
+ context "#modify" do
30
+ it "replace" do
31
+ a = ArangoVertex.new(body: {"Hello" => "World"}).create
32
+ b = ArangoVertex.new(body: {"Hello" => "World!!"}).create
33
+ myDocument = @myEdge.replace body: {"_from" => a.id, "_to" => b.id}
34
+ expect(myDocument.body["_from"]).to eq a.id
35
+ end
36
+
37
+ it "update" do
38
+ cc = ArangoVertex.new(body: {"Hello" => "World!!!"}).create
39
+ myDocument = @myEdge.update body: {"_to" => cc.id}
40
+ expect(myDocument.body["_to"]).to eq cc.id
41
+ end
42
+ end
43
+
44
+ context "#destroy" do
45
+ it "delete a Document" do
46
+ result = @myEdge.destroy
47
+ expect(result).to eq true
48
+ end
49
+ end
50
+ end