search_and_resque 0.3.4 → 0.3.5
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/lib/search_and_resque/callbacks.rb +36 -36
- data/lib/search_and_resque/version.rb +1 -1
- data/test/search_and_resque_test.rb +12 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e5f841b3c8302532fcc848c0f93d02413c45ed22
|
4
|
+
data.tar.gz: e950f0259082332743c5ccd7988ee52c60a15525
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 02d363aaacf2747f2bd6301d9d32f4c6992123b49b004974978f3bfe88008493cdb376596a3e5decbbad75c2bd036842c1aff034d784edd97917f15a2531e6e5
|
7
|
+
data.tar.gz: aaa016bb3c99a95f87c62a2b1496675465912c71ab96bbc2dd708abc3f56b8ed2a62fac5d3963b11c45f071ef06060bb4d5bbd004e8bd579e3ac8cb7e700a413
|
@@ -12,6 +12,42 @@ module SearchAndResque
|
|
12
12
|
ids = Array(ids).map{ |x| x.is_a?(ActiveRecord::Base) ? x.id : x }
|
13
13
|
SearchAndResque.queue.enqueue_delete(elastic_search_type, ids)
|
14
14
|
end
|
15
|
+
|
16
|
+
# e.g.
|
17
|
+
# Model.will_update_all(@records) do
|
18
|
+
# ...
|
19
|
+
# @records.update_all(...)
|
20
|
+
# ...
|
21
|
+
# end
|
22
|
+
def will_update_all(ids)
|
23
|
+
begin
|
24
|
+
skip_callback(:save, :after, :enqueue_elastic_search_update)
|
25
|
+
transaction do
|
26
|
+
yield if block_given?
|
27
|
+
enqueue_elastic_search_update(ids) unless ids.empty?
|
28
|
+
end
|
29
|
+
ensure
|
30
|
+
set_callback(:save, :after, :enqueue_elastic_search_update)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
# e.g.
|
35
|
+
# Model.will_delete_all(@records) do
|
36
|
+
# ...
|
37
|
+
# @records.delete_all
|
38
|
+
# ...
|
39
|
+
# end
|
40
|
+
def will_delete_all(ids)
|
41
|
+
begin
|
42
|
+
skip_callback(:destroy, :after, :enqueue_elastic_search_delete)
|
43
|
+
transaction do
|
44
|
+
yield if block_given?
|
45
|
+
enqueue_elastic_search_delete(ids) unless ids.empty?
|
46
|
+
end
|
47
|
+
ensure
|
48
|
+
set_callback(:destroy, :after, :enqueue_elastic_search_delete)
|
49
|
+
end
|
50
|
+
end
|
15
51
|
end
|
16
52
|
|
17
53
|
def enqueue_elastic_search_update
|
@@ -23,41 +59,5 @@ module SearchAndResque
|
|
23
59
|
def enqueue_elastic_search_delete
|
24
60
|
self.class.enqueue_elastic_search_delete(elastic_search_id)
|
25
61
|
end
|
26
|
-
|
27
|
-
# e.g.
|
28
|
-
# Model.will_update_all(@records) do
|
29
|
-
# ...
|
30
|
-
# @records.update_all(...)
|
31
|
-
# ...
|
32
|
-
# end
|
33
|
-
def will_update_all(ids)
|
34
|
-
begin
|
35
|
-
skip_callback(:save, :after, :enqueue_elastic_search_update)
|
36
|
-
transaction do
|
37
|
-
yield if block_given?
|
38
|
-
enqueue_elastic_search_update(ids) unless ids.empty?
|
39
|
-
end
|
40
|
-
ensure
|
41
|
-
set_callback(:save, :after, :enqueue_elastic_search_update)
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
# e.g.
|
46
|
-
# Model.will_delete_all(@records) do
|
47
|
-
# ...
|
48
|
-
# @records.delete_all
|
49
|
-
# ...
|
50
|
-
# end
|
51
|
-
def will_delete_all(ids)
|
52
|
-
begin
|
53
|
-
skip_callback(:destroy, :after, :enqueue_elastic_search_delete)
|
54
|
-
transaction do
|
55
|
-
yield if block_given?
|
56
|
-
enqueue_elastic_search_delete(ids) unless ids.empty?
|
57
|
-
end
|
58
|
-
ensure
|
59
|
-
set_callback(:destroy, :after, :enqueue_elastic_search_delete)
|
60
|
-
end
|
61
|
-
end
|
62
62
|
end
|
63
63
|
end
|
@@ -109,4 +109,16 @@ class SearchAndResqueTest < test_framework
|
|
109
109
|
score.destroy
|
110
110
|
assert_equal nil, SearchAndResqueTestIndex::Films.filter(:ids => {values: [film.id]}).first.score_composer
|
111
111
|
end
|
112
|
+
|
113
|
+
def test_will_delete_all
|
114
|
+
film1 = Film.create(:title => 'one', :director => 'two')
|
115
|
+
film2 = Film.create(:title => 'three', :director => 'four')
|
116
|
+
|
117
|
+
assert_equal 2, SearchAndResqueTestIndex::Films.total_count
|
118
|
+
|
119
|
+
Film.will_delete_all([film1, film2]) do
|
120
|
+
end
|
121
|
+
|
122
|
+
assert_equal 0, SearchAndResqueTestIndex::Films.total_count
|
123
|
+
end
|
112
124
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: search_and_resque
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Peter Woo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-02-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -77,7 +77,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
77
77
|
version: '0'
|
78
78
|
requirements: []
|
79
79
|
rubyforge_project:
|
80
|
-
rubygems_version: 2.
|
80
|
+
rubygems_version: 2.4.5.1
|
81
81
|
signing_key:
|
82
82
|
specification_version: 4
|
83
83
|
summary: Resque integration for Chewy
|