extendi-cassandra_object 1.0.18 → 1.0.19
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
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: db5689a9457f279a1fbe638e83d899b6ca640563b7d1332e8d741fc6afb5834e
|
4
|
+
data.tar.gz: f9d9ad2c05797b892f79c5e57953e20be272b85905365d86a4d62ae793d3e6f4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f64fad5dbbce31d041661b7033dfd967f576e54f0a9a2375784183622bb24c9ee671c43fc5839e91bd289954441060ec2a96304663354f07abf6f499fa8d97ac
|
7
|
+
data.tar.gz: a410cfabfafa3dee262fa0fa20f4e5670f7306f6691ca4bcb4b21cb8e04c5bb488ab3ff8aa8c61fb5ab33bc805f5a377c3bc823169099f49a697f1b325b5aa2f
|
@@ -50,15 +50,25 @@ module CassandraObject
|
|
50
50
|
end
|
51
51
|
end
|
52
52
|
|
53
|
-
def find_some(
|
54
|
-
ids =
|
53
|
+
def find_some(pids)
|
54
|
+
ids = pids.flatten.compact.uniq.map(&:to_s)
|
55
55
|
return [] if ids.empty?
|
56
|
-
|
57
|
-
where_ids(ids).execute
|
56
|
+
|
57
|
+
qr = where_ids(ids).execute
|
58
|
+
is_dymnamic = qr.is_a?(Hash)
|
59
|
+
|
60
|
+
results = qr.sort_by do |r|
|
61
|
+
id = r.keys.first if r.is_a?(Hash)
|
62
|
+
id = r[0] if r.is_a?(Array)
|
63
|
+
id = r.id if id.nil?
|
64
|
+
ids.index(id)
|
65
|
+
end
|
66
|
+
|
67
|
+
is_dymnamic ? Hash[results] : results
|
58
68
|
end
|
59
69
|
|
60
70
|
def not_found(id)
|
61
|
-
raise CassandraObject::RecordNotFound, "Couldn't find #{
|
71
|
+
raise CassandraObject::RecordNotFound, "Couldn't find #{name} with key #{id.inspect}"
|
62
72
|
end
|
63
73
|
end
|
64
74
|
end
|
@@ -4,7 +4,6 @@
|
|
4
4
|
require 'test_helper'
|
5
5
|
|
6
6
|
class CassandraObject::PersistenceSchemaCkTest < CassandraObject::TestCase
|
7
|
-
|
8
7
|
test 'composite key' do
|
9
8
|
time1 = Time.now
|
10
9
|
time2 = time1 + 1.second
|
@@ -25,19 +24,17 @@ class CassandraObject::PersistenceSchemaCkTest < CassandraObject::TestCase
|
|
25
24
|
item = res[1]
|
26
25
|
assert_equal '1', item.id
|
27
26
|
assert_equal time2.to_i, item.date.to_i
|
28
|
-
|
29
27
|
end
|
30
28
|
|
31
29
|
test 'delete' do
|
32
30
|
IssueSchemaCk.create(id: '1', type: 'first', date: Time.now, value: 1.to_f)
|
33
31
|
IssueSchemaCk.create(id: '1', type: 'second', date: Time.now, value: 1.to_f)
|
34
|
-
|
35
32
|
IssueSchemaCk.delete('1')
|
36
33
|
assert_equal 0, IssueSchemaCk.find_by_id([1]).size
|
37
34
|
end
|
38
35
|
|
39
36
|
test 'delete with attributes' do
|
40
|
-
time = Time.now
|
37
|
+
time = Time.now - 10.days
|
41
38
|
IssueSchemaCk.create(id: '1', type: 'first', date: time, value: 1.to_f)
|
42
39
|
IssueSchemaCk.create(id: '1', type: 'first', date: Time.now, value: 1.to_f)
|
43
40
|
IssueSchemaCk.create(id: '2', type: 'first', date: time, value: 1.to_f)
|
@@ -65,5 +62,4 @@ class CassandraObject::PersistenceSchemaCkTest < CassandraObject::TestCase
|
|
65
62
|
IssueSchemaCk.find_by_id(['1']).first.destroy
|
66
63
|
assert_equal 1, IssueSchemaCk.find_by_id([1]).size
|
67
64
|
end
|
68
|
-
|
69
65
|
end
|
@@ -26,6 +26,39 @@ class CassandraObject::FinderMethodsTest < CassandraObject::TestCase
|
|
26
26
|
assert_equal [first_issue, second_issue].to_set, Issue.find([first_issue.id, second_issue.id]).to_set
|
27
27
|
end
|
28
28
|
|
29
|
+
test 'IssueDynamic: find with ids sorted' do
|
30
|
+
ids = (0..999).to_a.map(&:to_s)
|
31
|
+
ids.each do |i|
|
32
|
+
IssueDynamic.create(key: i, title: "foo_title_#{i}")
|
33
|
+
end
|
34
|
+
ids_to_find = ids.sample(10)
|
35
|
+
assert_equal ids_to_find, IssueDynamic.find(ids_to_find).keys
|
36
|
+
IssueDynamic.delete_all
|
37
|
+
end
|
38
|
+
|
39
|
+
test 'Issue: find with ids sorted' do
|
40
|
+
ids = (0..999).to_a.map(&:to_s)
|
41
|
+
ids.each do |i|
|
42
|
+
Issue.create(id: i, title: "foo_title_#{i}")
|
43
|
+
end
|
44
|
+
ids_to_find = ids.sample(10)
|
45
|
+
assert_equal ids_to_find, Issue.find(ids_to_find).map(&:id)
|
46
|
+
Issue.delete_all
|
47
|
+
end
|
48
|
+
|
49
|
+
test 'IssueSchemaCk: find with ids sorted' do
|
50
|
+
ids = (0..999).to_a.map(&:to_s)
|
51
|
+
time = Time.now - 10.years
|
52
|
+
ids.each do |i|
|
53
|
+
IssueSchemaCk.create(id: i, type: 'first', date: time, value: 1.to_f)
|
54
|
+
IssueSchemaCk.create(id: i, type: 'first', date: Time.now, value: 1.to_f)
|
55
|
+
end
|
56
|
+
ids_to_find = ids.sample(10)
|
57
|
+
assert_equal ids_to_find.size * 2, IssueSchemaCk.find(ids_to_find).map(&:id).size
|
58
|
+
assert_equal ids_to_find, IssueSchemaCk.find(ids_to_find).map(&:id).uniq
|
59
|
+
IssueSchemaCk.delete_all
|
60
|
+
end
|
61
|
+
|
29
62
|
test 'find_by_id' do
|
30
63
|
Issue.create.tap do |issue|
|
31
64
|
assert_equal issue, Issue.find_by_id(issue.id)
|
@@ -64,9 +97,7 @@ class CassandraObject::FinderMethodsTest < CassandraObject::TestCase
|
|
64
97
|
IssueDynamic.delete(['1', '2'])
|
65
98
|
end
|
66
99
|
|
67
|
-
|
68
100
|
test 'find all in batches dynamic paged' do
|
69
|
-
|
70
101
|
issues = []
|
71
102
|
100.times.each do |i|
|
72
103
|
issues << IssueDynamic.create(key: i, title: 'tit', dynamic_field1: 'one', dynamic_field2: 'two')
|
@@ -135,5 +166,4 @@ class CassandraObject::FinderMethodsTest < CassandraObject::TestCase
|
|
135
166
|
# first_issue = IssueDynamic.create(key: '1', title: 'tit', dynamic_field1: 'one', dynamic_field2: 'two')
|
136
167
|
# f = IssueDynamic.first
|
137
168
|
# end
|
138
|
-
|
139
169
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: extendi-cassandra_object
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.19
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Duccio Giovannelli
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2019-02-
|
12
|
+
date: 2019-02-22 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activemodel
|