lotus-rethinkdb 0.2.0 → 0.2.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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2a1666d3a75f836b580a1b76e08d802766b0240b
|
4
|
+
data.tar.gz: a6e175bfe43389dc2a9fe7aef182db515645c1e5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 74879f3560374914edb0d4b7e11724cd608cde44d817a45236e6e4028244a8974a078dec33651f9b5943f62dd0b8bdb6b736fce513feb017c7c48d8e0b37c536
|
7
|
+
data.tar.gz: 596545455271f3de443bdd47677f19190130d16d763c939bd2f09916e91af288be51544bb783f1bf5e8e505e7ce6dba0c1335382aeb2dc4d90adc1c3eef96060
|
@@ -42,11 +42,15 @@ module Lotus
|
|
42
42
|
# @api private
|
43
43
|
# @since 0.1.0
|
44
44
|
def insert(entity)
|
45
|
+
serialized_entity = _serialize(entity)
|
46
|
+
|
45
47
|
response = _run do
|
46
|
-
super(
|
48
|
+
super(serialized_entity)
|
47
49
|
end
|
48
50
|
|
49
|
-
response['generated_keys'].first
|
51
|
+
serialized_entity[_identity] = response['generated_keys'].first
|
52
|
+
|
53
|
+
_deserialize([serialized_entity]).first
|
50
54
|
end
|
51
55
|
|
52
56
|
# Updates the document corresponding to the given entity.
|
@@ -276,6 +280,16 @@ module Lotus
|
|
276
280
|
)
|
277
281
|
end
|
278
282
|
|
283
|
+
# Name of the identity field in database.
|
284
|
+
#
|
285
|
+
# @return [Symbol] the identity name
|
286
|
+
#
|
287
|
+
# @api private
|
288
|
+
# @since 0.2.1
|
289
|
+
def _identity
|
290
|
+
@mapped_collection.identity
|
291
|
+
end
|
292
|
+
|
279
293
|
# Returns a collection with the connection automatically included.
|
280
294
|
#
|
281
295
|
# @return [Lotus::Model::Adapters::Rethinkdb::Collection]
|
@@ -70,10 +70,9 @@ module Lotus
|
|
70
70
|
# @api private
|
71
71
|
# @since 0.1.0
|
72
72
|
def create(collection, entity)
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
entity
|
73
|
+
command(
|
74
|
+
query(collection)
|
75
|
+
).create(entity)
|
77
76
|
end
|
78
77
|
|
79
78
|
# Updates a document in the database corresponding to the given entity.
|
@@ -62,8 +62,8 @@ describe Lotus::Model::Adapters::RethinkdbAdapter do
|
|
62
62
|
user = TestUser.new
|
63
63
|
device = TestDevice.new
|
64
64
|
|
65
|
-
@adapter.create(:test_users, user)
|
66
|
-
@adapter.create(:test_devices, device)
|
65
|
+
user = @adapter.create(:test_users, user)
|
66
|
+
device = @adapter.create(:test_devices, device)
|
67
67
|
|
68
68
|
@adapter.all(:test_users).must_equal [user]
|
69
69
|
@adapter.all(:test_devices).must_equal [device]
|
@@ -75,30 +75,30 @@ describe Lotus::Model::Adapters::RethinkdbAdapter do
|
|
75
75
|
let(:entity) { TestUser.new }
|
76
76
|
|
77
77
|
it 'stores the document and assigns an id' do
|
78
|
-
@adapter.persist(collection, entity)
|
78
|
+
result = @adapter.persist(collection, entity)
|
79
79
|
|
80
|
-
|
80
|
+
result.id.wont_be_nil
|
81
81
|
|
82
|
-
@adapter.find(collection,
|
82
|
+
@adapter.find(collection, result.id).must_equal result
|
83
83
|
end
|
84
84
|
end
|
85
85
|
|
86
86
|
describe 'when the given entity is persisted' do
|
87
87
|
before do
|
88
|
-
@adapter.create(collection, entity)
|
88
|
+
@entity = @adapter.create(collection, entity)
|
89
89
|
end
|
90
90
|
|
91
91
|
let(:entity) { TestUser.new }
|
92
92
|
|
93
93
|
it 'updates the document and leaves untouched the id' do
|
94
|
-
id = entity.id
|
94
|
+
id = @entity.id
|
95
95
|
id.wont_be_nil
|
96
96
|
|
97
|
-
entity.name = 'L'
|
98
|
-
@adapter.persist(collection, entity)
|
97
|
+
@entity.name = 'L'
|
98
|
+
@adapter.persist(collection, @entity)
|
99
99
|
|
100
|
-
entity.id.must_equal id
|
101
|
-
@adapter.find(collection, entity.id).name.must_equal entity.name
|
100
|
+
@entity.id.must_equal id
|
101
|
+
@adapter.find(collection, @entity.id).name.must_equal @entity.name
|
102
102
|
end
|
103
103
|
end
|
104
104
|
end
|
@@ -107,29 +107,29 @@ describe Lotus::Model::Adapters::RethinkdbAdapter do
|
|
107
107
|
let(:entity) { TestUser.new }
|
108
108
|
|
109
109
|
it 'stores the document and assigns an id' do
|
110
|
-
@adapter.create(collection, entity)
|
110
|
+
result = @adapter.create(collection, entity)
|
111
111
|
|
112
|
-
|
112
|
+
result.id.wont_be_nil
|
113
113
|
|
114
|
-
@adapter.find(collection,
|
114
|
+
@adapter.find(collection, result.id).must_equal result
|
115
115
|
end
|
116
116
|
end
|
117
117
|
|
118
118
|
describe '#update' do
|
119
119
|
before do
|
120
|
-
@adapter.create(collection, entity)
|
120
|
+
@entity = @adapter.create(collection, entity)
|
121
121
|
end
|
122
122
|
|
123
123
|
let(:entity) { TestUser.new(id: nil, name: 'L') }
|
124
124
|
|
125
125
|
it 'stores the changes and leave the id untouched' do
|
126
|
-
id = entity.id
|
126
|
+
id = @entity.id
|
127
127
|
|
128
|
-
entity.name = 'MG'
|
129
|
-
@adapter.update(collection, entity)
|
128
|
+
@entity.name = 'MG'
|
129
|
+
@adapter.update(collection, @entity)
|
130
130
|
|
131
|
-
entity.id.must_equal id
|
132
|
-
@adapter.find(collection, entity.id).name.must_equal entity.name
|
131
|
+
@entity.id.must_equal id
|
132
|
+
@adapter.find(collection, @entity.id).name.must_equal @entity.name
|
133
133
|
end
|
134
134
|
end
|
135
135
|
|
@@ -160,26 +160,26 @@ describe Lotus::Model::Adapters::RethinkdbAdapter do
|
|
160
160
|
describe 'when some documents are persisted' do
|
161
161
|
before do
|
162
162
|
@adapter.clear(collection)
|
163
|
-
@adapter.create(collection, entity)
|
163
|
+
@entity = @adapter.create(collection, entity)
|
164
164
|
end
|
165
165
|
|
166
166
|
let(:entity) { TestUser.new }
|
167
167
|
|
168
168
|
it 'returns all of them' do
|
169
|
-
@adapter.all(collection).must_equal [entity]
|
169
|
+
@adapter.all(collection).must_equal [@entity]
|
170
170
|
end
|
171
171
|
end
|
172
172
|
end
|
173
173
|
|
174
174
|
describe '#find' do
|
175
175
|
before do
|
176
|
-
@adapter.create(collection, entity)
|
176
|
+
@entity = @adapter.create(collection, entity)
|
177
177
|
end
|
178
178
|
|
179
179
|
let(:entity) { TestUser.new }
|
180
180
|
|
181
181
|
it 'returns the document by id' do
|
182
|
-
@adapter.find(collection, entity.id).must_equal entity
|
182
|
+
@adapter.find(collection, @entity.id).must_equal @entity
|
183
183
|
end
|
184
184
|
|
185
185
|
it 'returns nil when the document cannot be found' do
|
@@ -205,8 +205,8 @@ describe Lotus::Model::Adapters::RethinkdbAdapter do
|
|
205
205
|
describe 'when some documents are persisted' do
|
206
206
|
before do
|
207
207
|
@adapter.clear(:test_users)
|
208
|
-
@adapter.create(collection, entity1)
|
209
|
-
@adapter.create(collection, entity2)
|
208
|
+
@entity1 = @adapter.create(collection, entity1)
|
209
|
+
@entity2 = @adapter.create(collection, entity2)
|
210
210
|
end
|
211
211
|
|
212
212
|
let(:entity1) { TestUser.new }
|
@@ -263,7 +263,7 @@ describe Lotus::Model::Adapters::RethinkdbAdapter do
|
|
263
263
|
@adapter.clear(collection)
|
264
264
|
end
|
265
265
|
|
266
|
-
let(:user1) { TestUser.new(name: 'L', age: 32) }
|
266
|
+
let(:user1) { TestUser.new(name: 'L', age: '32') }
|
267
267
|
let(:user2) { TestUser.new(name: 'MG', age: 31) }
|
268
268
|
|
269
269
|
describe 'where' do
|
@@ -279,54 +279,54 @@ describe Lotus::Model::Adapters::RethinkdbAdapter do
|
|
279
279
|
|
280
280
|
describe 'with a filled collection' do
|
281
281
|
before do
|
282
|
-
@adapter.create(collection, user1)
|
283
|
-
@adapter.create(collection, user2)
|
282
|
+
@user1 = @adapter.create(collection, user1)
|
283
|
+
@user2 = @adapter.create(collection, user2)
|
284
284
|
end
|
285
285
|
|
286
286
|
it 'returns selected records' do
|
287
|
-
id = user1.id
|
287
|
+
id = @user1.id
|
288
288
|
|
289
289
|
query = proc do
|
290
290
|
where(id: id)
|
291
291
|
end
|
292
292
|
|
293
293
|
result = @adapter.query(collection, &query).all
|
294
|
-
result.must_equal [user1]
|
294
|
+
result.must_equal [@user1]
|
295
295
|
end
|
296
296
|
|
297
297
|
it 'can use multiple where conditions' do
|
298
|
-
id = user1.id
|
299
|
-
name = user1.name
|
298
|
+
id = @user1.id
|
299
|
+
name = @user1.name
|
300
300
|
|
301
301
|
query = proc do
|
302
302
|
where(id: id).where(name: name)
|
303
303
|
end
|
304
304
|
|
305
305
|
result = @adapter.query(collection, &query).all
|
306
|
-
result.must_equal [user1]
|
306
|
+
result.must_equal [@user1]
|
307
307
|
end
|
308
308
|
|
309
309
|
it 'can use multiple where conditions with "and" alias' do
|
310
|
-
id = user1.id
|
311
|
-
name = user1.name
|
310
|
+
id = @user1.id
|
311
|
+
name = @user1.name
|
312
312
|
|
313
313
|
query = proc do
|
314
314
|
where(id: id).and(name: name)
|
315
315
|
end
|
316
316
|
|
317
317
|
result = @adapter.query(collection, &query).all
|
318
|
-
result.must_equal [user1]
|
318
|
+
result.must_equal [@user1]
|
319
319
|
end
|
320
320
|
|
321
321
|
it 'can use a block' do
|
322
|
-
age = user1.age
|
322
|
+
age = @user1.age
|
323
323
|
|
324
324
|
query = proc do
|
325
325
|
where { |user| user['age'].eq(age) }
|
326
326
|
end
|
327
327
|
|
328
328
|
result = @adapter.query(collection, &query).all
|
329
|
-
result.must_equal [user1]
|
329
|
+
result.must_equal [@user1]
|
330
330
|
end
|
331
331
|
|
332
332
|
it 'raises an error if you dont specify condition or block' do
|
@@ -482,8 +482,8 @@ describe Lotus::Model::Adapters::RethinkdbAdapter do
|
|
482
482
|
|
483
483
|
describe 'with a filled collection' do
|
484
484
|
before do
|
485
|
-
@adapter.create(collection, user1)
|
486
|
-
@adapter.create(collection, user2)
|
485
|
+
@user1 = @adapter.create(collection, user1)
|
486
|
+
@user2 = @adapter.create(collection, user2)
|
487
487
|
end
|
488
488
|
|
489
489
|
it 'returns sorted records' do
|
@@ -492,7 +492,7 @@ describe Lotus::Model::Adapters::RethinkdbAdapter do
|
|
492
492
|
end
|
493
493
|
|
494
494
|
result = @adapter.query(collection, &query).all
|
495
|
-
result.must_equal [user2, user1]
|
495
|
+
result.must_equal [@user2, @user1]
|
496
496
|
end
|
497
497
|
|
498
498
|
it 'returns sorted records, using multiple columns' do
|
@@ -501,7 +501,7 @@ describe Lotus::Model::Adapters::RethinkdbAdapter do
|
|
501
501
|
end
|
502
502
|
|
503
503
|
result = @adapter.query(collection, &query).all
|
504
|
-
result.must_equal [user2, user1]
|
504
|
+
result.must_equal [@user2, @user1]
|
505
505
|
end
|
506
506
|
|
507
507
|
it 'returns sorted records, using multiple invokations' do
|
@@ -510,7 +510,7 @@ describe Lotus::Model::Adapters::RethinkdbAdapter do
|
|
510
510
|
end
|
511
511
|
|
512
512
|
result = @adapter.query(collection, &query).all
|
513
|
-
result.must_equal [user1, user2]
|
513
|
+
result.must_equal [@user1, @user2]
|
514
514
|
end
|
515
515
|
end
|
516
516
|
end
|
@@ -528,8 +528,8 @@ describe Lotus::Model::Adapters::RethinkdbAdapter do
|
|
528
528
|
|
529
529
|
describe 'with a filled collection' do
|
530
530
|
before do
|
531
|
-
@adapter.create(collection, user1)
|
532
|
-
@adapter.create(collection, user2)
|
531
|
+
@user1 = @adapter.create(collection, user1)
|
532
|
+
@user2 = @adapter.create(collection, user2)
|
533
533
|
end
|
534
534
|
|
535
535
|
it 'returns sorted records' do
|
@@ -538,7 +538,7 @@ describe Lotus::Model::Adapters::RethinkdbAdapter do
|
|
538
538
|
end
|
539
539
|
|
540
540
|
result = @adapter.query(collection, &query).all
|
541
|
-
result.must_equal [user2, user1]
|
541
|
+
result.must_equal [@user2, @user1]
|
542
542
|
end
|
543
543
|
end
|
544
544
|
end
|
@@ -556,8 +556,8 @@ describe Lotus::Model::Adapters::RethinkdbAdapter do
|
|
556
556
|
|
557
557
|
describe 'with a filled collection' do
|
558
558
|
before do
|
559
|
-
@adapter.create(collection, user1)
|
560
|
-
@adapter.create(collection, user2)
|
559
|
+
@user1 = @adapter.create(collection, user1)
|
560
|
+
@user2 = @adapter.create(collection, user2)
|
561
561
|
end
|
562
562
|
|
563
563
|
it 'returns reverse sorted records' do
|
@@ -566,7 +566,7 @@ describe Lotus::Model::Adapters::RethinkdbAdapter do
|
|
566
566
|
end
|
567
567
|
|
568
568
|
result = @adapter.query(collection, &query).all
|
569
|
-
result.must_equal [user1, user2]
|
569
|
+
result.must_equal [@user1, @user2]
|
570
570
|
end
|
571
571
|
|
572
572
|
it 'returns sorted records, using multiple columns' do
|
@@ -575,7 +575,7 @@ describe Lotus::Model::Adapters::RethinkdbAdapter do
|
|
575
575
|
end
|
576
576
|
|
577
577
|
result = @adapter.query(collection, &query).all
|
578
|
-
result.must_equal [user1, user2]
|
578
|
+
result.must_equal [@user1, @user2]
|
579
579
|
end
|
580
580
|
|
581
581
|
it 'returns sorted records, using multiple invokations' do
|
@@ -584,7 +584,7 @@ describe Lotus::Model::Adapters::RethinkdbAdapter do
|
|
584
584
|
end
|
585
585
|
|
586
586
|
result = @adapter.query(collection, &query).all
|
587
|
-
result.must_equal [user2, user1]
|
587
|
+
result.must_equal [@user2, @user1]
|
588
588
|
end
|
589
589
|
end
|
590
590
|
end
|
@@ -602,13 +602,13 @@ describe Lotus::Model::Adapters::RethinkdbAdapter do
|
|
602
602
|
|
603
603
|
describe 'with a filled collection' do
|
604
604
|
before do
|
605
|
-
@adapter.create(collection, user1)
|
606
|
-
@adapter.create(collection, user2)
|
607
|
-
@adapter.create(collection, TestUser.new(name: user2.name))
|
605
|
+
@user1 = @adapter.create(collection, user1)
|
606
|
+
@user2 = @adapter.create(collection, user2)
|
607
|
+
@user3 = @adapter.create(collection, TestUser.new(name: user2.name))
|
608
608
|
end
|
609
609
|
|
610
610
|
it 'returns only the number of requested records' do
|
611
|
-
name = user2.name
|
611
|
+
name = @user2.name
|
612
612
|
|
613
613
|
query = proc do
|
614
614
|
where(name: name).limit(1)
|
data/test/version_test.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lotus-rethinkdb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Angelo Ashmore
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-01-
|
11
|
+
date: 2015-01-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: lotus-model
|
@@ -161,4 +161,3 @@ test_files:
|
|
161
161
|
- test/model/adapters/rethinkdb_adapter_test.rb
|
162
162
|
- test/test_helper.rb
|
163
163
|
- test/version_test.rb
|
164
|
-
has_rdoc:
|