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.
- checksums.yaml +4 -4
- data/ArangoRB.gemspec +18 -18
- data/Gemfile +8 -7
- data/LICENSE +21 -21
- data/README.md +906 -867
- data/lib/ArangoRB_AQL.rb +181 -160
- data/lib/ArangoRB_Cache.rb +174 -174
- data/lib/ArangoRB_Col.rb +526 -499
- data/lib/ArangoRB_DB.rb +363 -339
- data/lib/ArangoRB_Doc.rb +319 -298
- data/lib/ArangoRB_Edg.rb +184 -169
- data/lib/ArangoRB_Gra.rb +201 -180
- data/lib/ArangoRB_Index.rb +135 -115
- data/lib/ArangoRB_Replication.rb +261 -0
- data/lib/ArangoRB_Ser.rb +446 -441
- data/lib/ArangoRB_Task.rb +129 -113
- data/lib/ArangoRB_Tra.rb +169 -142
- data/lib/ArangoRB_Tran.rb +68 -53
- data/lib/ArangoRB_User.rb +149 -136
- data/lib/ArangoRB_Ver.rb +162 -147
- data/lib/arangorb.rb +16 -15
- data/spec/arangoRB_helper.rb +4 -4
- data/spec/arangoRestart_helper.rb +14 -14
- data/spec/lib/0.1.0/arangoAQL_helper.rb +64 -64
- data/spec/lib/0.1.0/arangoC_helper.rb +170 -170
- data/spec/lib/0.1.0/arangoDB_helper.rb +119 -119
- data/spec/lib/0.1.0/arangoDoc_helper.rb +79 -79
- data/spec/lib/0.1.0/arangoE_helper.rb +50 -50
- data/spec/lib/0.1.0/arangoG_helper.rb +78 -78
- data/spec/lib/0.1.0/arangoS_helper.rb +37 -37
- data/spec/lib/0.1.0/arangoT_helper.rb +48 -48
- data/spec/lib/0.1.0/arangoV_helper.rb +65 -65
- data/spec/lib/1.0.0/arangoC_helper.rb +73 -73
- data/spec/lib/1.0.0/arangoDB_helper.rb +48 -48
- data/spec/lib/1.0.0/arangoI_helper.rb +43 -43
- data/spec/lib/1.0.0/arangoS_helper.rb +192 -192
- data/spec/lib/1.0.0/arangoTa_helper.rb +49 -49
- data/spec/lib/1.0.0/arangoTr_helper.rb +15 -15
- data/spec/lib/1.0.0/arangoU_helper.rb +72 -72
- data/spec/lib/1.1.0/arangoRB_helper.rb +144 -144
- data/spec/lib/1.1.0/arangoRB_walks_helper.rb +19 -19
- data/spec/lib/1.2.0/arangoCache_helper.rb +66 -66
- data/spec/lib/1.3.0/arangoHash_helper.rb +30 -0
- data/spec/lib/arangoRB_0.1.0_helper.rb +9 -9
- data/spec/lib/arangoRB_1.0.0_helper.rb +6 -6
- data/spec/lib/arangoRB_1.1.0_helper.rb +2 -2
- data/spec/lib/arangoRB_1.2.0_helper.rb +2 -1
- data/spec/spec_helper.rb +41 -41
- metadata +6 -5
data/lib/arangorb.rb
CHANGED
@@ -1,15 +1,16 @@
|
|
1
|
-
require "httparty"
|
2
|
-
require_relative "ArangoRB_Ser"
|
3
|
-
require_relative "ArangoRB_DB"
|
4
|
-
require_relative "ArangoRB_Col"
|
5
|
-
require_relative "ArangoRB_Doc"
|
6
|
-
require_relative "ArangoRB_Gra"
|
7
|
-
require_relative "ArangoRB_Ver"
|
8
|
-
require_relative "ArangoRB_Edg"
|
9
|
-
require_relative "ArangoRB_Tra"
|
10
|
-
require_relative "ArangoRB_AQL"
|
11
|
-
require_relative "ArangoRB_User"
|
12
|
-
require_relative "ArangoRB_Index"
|
13
|
-
require_relative "ArangoRB_Task"
|
14
|
-
require_relative "ArangoRB_Tran"
|
15
|
-
require_relative "ArangoRB_Cache"
|
1
|
+
require "httparty"
|
2
|
+
require_relative "ArangoRB_Ser"
|
3
|
+
require_relative "ArangoRB_DB"
|
4
|
+
require_relative "ArangoRB_Col"
|
5
|
+
require_relative "ArangoRB_Doc"
|
6
|
+
require_relative "ArangoRB_Gra"
|
7
|
+
require_relative "ArangoRB_Ver"
|
8
|
+
require_relative "ArangoRB_Edg"
|
9
|
+
require_relative "ArangoRB_Tra"
|
10
|
+
require_relative "ArangoRB_AQL"
|
11
|
+
require_relative "ArangoRB_User"
|
12
|
+
require_relative "ArangoRB_Index"
|
13
|
+
require_relative "ArangoRB_Task"
|
14
|
+
require_relative "ArangoRB_Tran"
|
15
|
+
require_relative "ArangoRB_Cache"
|
16
|
+
require_relative "ArangoRB_Replication"
|
data/spec/arangoRB_helper.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
require "lib/arangoRB_0.1.0_helper"
|
2
|
-
require "lib/arangoRB_1.0.0_helper"
|
3
|
-
require "lib/arangoRB_1.1.0_helper"
|
4
|
-
require "lib/arangoRB_1.2.0_helper"
|
1
|
+
require "lib/arangoRB_0.1.0_helper"
|
2
|
+
require "lib/arangoRB_1.0.0_helper"
|
3
|
+
require "lib/arangoRB_1.1.0_helper"
|
4
|
+
require "lib/arangoRB_1.2.0_helper"
|
@@ -1,14 +1,14 @@
|
|
1
|
-
require "rspec"
|
2
|
-
require_relative File.expand_path('../../lib/arangorb', __FILE__)
|
3
|
-
|
4
|
-
RSpec.configure do |config|
|
5
|
-
config.color = true
|
6
|
-
end
|
7
|
-
|
8
|
-
describe ArangoServer do
|
9
|
-
context "#restart" do
|
10
|
-
it "restart" do
|
11
|
-
print ArangoServer.restart
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
1
|
+
require "rspec"
|
2
|
+
require_relative File.expand_path('../../lib/arangorb', __FILE__)
|
3
|
+
|
4
|
+
RSpec.configure do |config|
|
5
|
+
config.color = true
|
6
|
+
end
|
7
|
+
|
8
|
+
describe ArangoServer do
|
9
|
+
context "#restart" do
|
10
|
+
it "restart" do
|
11
|
+
print ArangoServer.restart
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -1,64 +1,64 @@
|
|
1
|
-
require_relative './../../spec_helper'
|
2
|
-
|
3
|
-
describe ArangoAQL do
|
4
|
-
context "#new" do
|
5
|
-
it "create a new AQL instance" do
|
6
|
-
myAQL = ArangoAQL.new query: "FOR u IN MyCollection RETURN u.num"
|
7
|
-
expect(myAQL.query).to eq "FOR u IN MyCollection RETURN u.num"
|
8
|
-
end
|
9
|
-
|
10
|
-
it "instantiate size" do
|
11
|
-
@myAQL.size = 5
|
12
|
-
expect(@myAQL.size).to eq 5
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
context "#execute" do
|
17
|
-
it "execute Transaction" do
|
18
|
-
@myAQL.execute
|
19
|
-
expect(@myAQL.result.length).to eq 5
|
20
|
-
end
|
21
|
-
|
22
|
-
it "execute again Transaction" do
|
23
|
-
@myAQL.next
|
24
|
-
expect(@myAQL.result.length).to eq 5
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
context "#info" do
|
29
|
-
it "explain" do
|
30
|
-
expect(@myAQL.explain["cacheable"]).to be true
|
31
|
-
end
|
32
|
-
|
33
|
-
it "parse" do
|
34
|
-
expect(@myAQL.parse["parsed"]).to be true
|
35
|
-
end
|
36
|
-
|
37
|
-
it "properties" do
|
38
|
-
expect(@myAQL.properties["enabled"]).to be true
|
39
|
-
end
|
40
|
-
|
41
|
-
it "current" do
|
42
|
-
expect(@myAQL.current).to eq []
|
43
|
-
end
|
44
|
-
|
45
|
-
it "slow" do
|
46
|
-
expect(@myAQL.slow).to eq []
|
47
|
-
end
|
48
|
-
end
|
49
|
-
|
50
|
-
context "#delete" do
|
51
|
-
it "stopSlow" do
|
52
|
-
expect(@myAQL.stopSlow).to be true
|
53
|
-
end
|
54
|
-
|
55
|
-
it "kill" do
|
56
|
-
expect(@myAQL.kill.class).to be String
|
57
|
-
end
|
58
|
-
|
59
|
-
it "changeProperties" do
|
60
|
-
result = @myAQL.changeProperties maxSlowQueries: 65
|
61
|
-
expect(result["maxSlowQueries"]).to eq 65
|
62
|
-
end
|
63
|
-
end
|
64
|
-
end
|
1
|
+
require_relative './../../spec_helper'
|
2
|
+
|
3
|
+
describe ArangoAQL do
|
4
|
+
context "#new" do
|
5
|
+
it "create a new AQL instance" do
|
6
|
+
myAQL = ArangoAQL.new query: "FOR u IN MyCollection RETURN u.num"
|
7
|
+
expect(myAQL.query).to eq "FOR u IN MyCollection RETURN u.num"
|
8
|
+
end
|
9
|
+
|
10
|
+
it "instantiate size" do
|
11
|
+
@myAQL.size = 5
|
12
|
+
expect(@myAQL.size).to eq 5
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
context "#execute" do
|
17
|
+
it "execute Transaction" do
|
18
|
+
@myAQL.execute
|
19
|
+
expect(@myAQL.result.length).to eq 5
|
20
|
+
end
|
21
|
+
|
22
|
+
it "execute again Transaction" do
|
23
|
+
@myAQL.next
|
24
|
+
expect(@myAQL.result.length).to eq 5
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
context "#info" do
|
29
|
+
it "explain" do
|
30
|
+
expect(@myAQL.explain["cacheable"]).to be true
|
31
|
+
end
|
32
|
+
|
33
|
+
it "parse" do
|
34
|
+
expect(@myAQL.parse["parsed"]).to be true
|
35
|
+
end
|
36
|
+
|
37
|
+
it "properties" do
|
38
|
+
expect(@myAQL.properties["enabled"]).to be true
|
39
|
+
end
|
40
|
+
|
41
|
+
it "current" do
|
42
|
+
expect(@myAQL.current).to eq []
|
43
|
+
end
|
44
|
+
|
45
|
+
it "slow" do
|
46
|
+
expect(@myAQL.slow).to eq []
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
context "#delete" do
|
51
|
+
it "stopSlow" do
|
52
|
+
expect(@myAQL.stopSlow).to be true
|
53
|
+
end
|
54
|
+
|
55
|
+
it "kill" do
|
56
|
+
expect(@myAQL.kill.class).to be String
|
57
|
+
end
|
58
|
+
|
59
|
+
it "changeProperties" do
|
60
|
+
result = @myAQL.changeProperties maxSlowQueries: 65
|
61
|
+
expect(result["maxSlowQueries"]).to eq 65
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
@@ -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 "cannot create collection: 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 "cannot create collection: 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
|