arangorb 1.2.0 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
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