search_and_resque 0.3.4 → 0.3.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8575aca9094955ecb328163636e194afe5c44aab
4
- data.tar.gz: d5fff4dda4b734eb3c520b8d7cdfc591546e11f5
3
+ metadata.gz: e5f841b3c8302532fcc848c0f93d02413c45ed22
4
+ data.tar.gz: e950f0259082332743c5ccd7988ee52c60a15525
5
5
  SHA512:
6
- metadata.gz: dc66289fcd27861e15e201efbbfb879f79435cdf909578e3baac2a78961de84249cbd0ef9578d9ed25968961863e185282f0538de2d61b2cd88c61677813b686
7
- data.tar.gz: dd0033c82068f3fc4ac43f62f8f6fa3bc7d649f3ea7b75927df001d2fc34a588c4cca0712e9f5e23d702cf92cfd859bfa9979c8d7240e71c7b5fc56a93263ed6
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
@@ -1,3 +1,3 @@
1
1
  module SearchAndResque
2
- VERSION = "0.3.4"
2
+ VERSION = "0.3.5"
3
3
  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
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: 2015-05-04 00:00:00.000000000 Z
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.2.2
80
+ rubygems_version: 2.4.5.1
81
81
  signing_key:
82
82
  specification_version: 4
83
83
  summary: Resque integration for Chewy