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 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