algoliasearch-rails 2.2.1 → 2.3.0
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/CHANGELOG.MD +9 -0
- data/Gemfile.lock +60 -61
- data/lib/algoliasearch/configuration.rb +1 -1
- data/lib/algoliasearch/version.rb +1 -1
- data/lib/algoliasearch-rails.rb +12 -13
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 91a3c57ba564afcd15833841c0c4dad105b1889179281b43e59a1adcb5c3acd2
|
|
4
|
+
data.tar.gz: d8bdac6cdf53cb6f095e1d485c6ceff1d94a17c6d649d76cefd29dca37d65172
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 13fe3ebce7b706de4324f0ee1f5fea8fdcfb6913445cc56a24a337868ac9f98edd173b5559a58921b73156d1dfe5d56fd3bd302666923966e5a1c4328369b5ec
|
|
7
|
+
data.tar.gz: f6237c40c513bacdb78ebd307668c0ae478c4e20f600a5d9ac10ca164ab2082e9515d9061177e5b93faf9ffebafbe4c864f80851c9466ac23565f4a7dadc83b4
|
data/CHANGELOG.MD
CHANGED
|
@@ -2,6 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased](https://github.com/algolia/algoliasearch-rails/compare/2.2.1...master)
|
|
4
4
|
|
|
5
|
+
## [2.2.2](https://github.com/algolia/algoliasearch-rails/compare/2.2.2...2.3.0)
|
|
6
|
+
### Fixed
|
|
7
|
+
* bugfix: don't consider objectID changed when using custom ID through method [`#436`](https://github.com/algolia/algoliasearch-rails/pull/436)
|
|
8
|
+
|
|
9
|
+
## [2.2.2](https://github.com/algolia/algoliasearch-rails/compare/2.2.1...2.2.2)
|
|
10
|
+
### Fixed
|
|
11
|
+
* fix: wrong method name [`#429`](https://github.com/algolia/algoliasearch-rails/pull/429)
|
|
12
|
+
* fix: check if `Sequel::Model` is defined [`#433`](https://github.com/algolia/algoliasearch-rails/pull/433)
|
|
13
|
+
|
|
5
14
|
## [2.2.1](https://github.com/algolia/algoliasearch-rails/compare/2.2.0...2.2.1)
|
|
6
15
|
### Fixed
|
|
7
16
|
* fix:settings changes detection issue with empty array [`#424`](https://github.com/algolia/algoliasearch-rails/pull/424)
|
data/Gemfile.lock
CHANGED
|
@@ -65,74 +65,71 @@ GEM
|
|
|
65
65
|
minitest (>= 5.1)
|
|
66
66
|
tzinfo (~> 2.0)
|
|
67
67
|
zeitwerk (~> 2.3)
|
|
68
|
-
algolia (2.
|
|
69
|
-
faraday (>= 0.15, <
|
|
68
|
+
algolia (2.3.2)
|
|
69
|
+
faraday (>= 0.15, < 3)
|
|
70
|
+
faraday-net_http_persistent (>= 0.15, < 3)
|
|
70
71
|
multi_json (~> 1.0)
|
|
71
72
|
net-http-persistent
|
|
72
73
|
builder (3.2.4)
|
|
73
74
|
case_transform (0.2)
|
|
74
75
|
activesupport
|
|
75
|
-
concurrent-ruby (1.
|
|
76
|
-
connection_pool (2.
|
|
76
|
+
concurrent-ruby (1.2.2)
|
|
77
|
+
connection_pool (2.4.1)
|
|
77
78
|
crass (1.0.6)
|
|
79
|
+
date (3.3.3)
|
|
78
80
|
diff-lcs (1.5.0)
|
|
79
|
-
erubi (1.
|
|
80
|
-
faraday (
|
|
81
|
-
faraday-
|
|
82
|
-
faraday-em_synchrony (~> 1.0)
|
|
83
|
-
faraday-excon (~> 1.1)
|
|
84
|
-
faraday-httpclient (~> 1.0)
|
|
85
|
-
faraday-multipart (~> 1.0)
|
|
86
|
-
faraday-net_http (~> 1.0)
|
|
87
|
-
faraday-net_http_persistent (~> 1.0)
|
|
88
|
-
faraday-patron (~> 1.0)
|
|
89
|
-
faraday-rack (~> 1.0)
|
|
90
|
-
faraday-retry (~> 1.0)
|
|
81
|
+
erubi (1.12.0)
|
|
82
|
+
faraday (2.7.10)
|
|
83
|
+
faraday-net_http (>= 2.0, < 3.1)
|
|
91
84
|
ruby2_keywords (>= 0.0.4)
|
|
92
|
-
faraday-
|
|
93
|
-
faraday-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
multipart-post (>= 1.2, < 3)
|
|
98
|
-
faraday-net_http (1.0.1)
|
|
99
|
-
faraday-net_http_persistent (1.2.0)
|
|
100
|
-
faraday-patron (1.0.0)
|
|
101
|
-
faraday-rack (1.0.0)
|
|
102
|
-
faraday-retry (1.0.3)
|
|
103
|
-
globalid (1.0.0)
|
|
85
|
+
faraday-net_http (3.0.2)
|
|
86
|
+
faraday-net_http_persistent (2.1.0)
|
|
87
|
+
faraday (~> 2.5)
|
|
88
|
+
net-http-persistent (~> 4.0)
|
|
89
|
+
globalid (1.1.0)
|
|
104
90
|
activesupport (>= 5.0)
|
|
105
|
-
i18n (1.
|
|
91
|
+
i18n (1.14.1)
|
|
106
92
|
concurrent-ruby (~> 1.0)
|
|
107
|
-
json (2.6.
|
|
93
|
+
json (2.6.3)
|
|
108
94
|
jsonapi-renderer (0.2.2)
|
|
109
95
|
kaminari (0.17.0)
|
|
110
96
|
actionpack (>= 3.0.0)
|
|
111
97
|
activesupport (>= 3.0.0)
|
|
112
|
-
loofah (2.
|
|
98
|
+
loofah (2.21.3)
|
|
113
99
|
crass (~> 1.0.2)
|
|
114
|
-
nokogiri (>= 1.
|
|
115
|
-
mail (2.
|
|
100
|
+
nokogiri (>= 1.12.0)
|
|
101
|
+
mail (2.8.1)
|
|
116
102
|
mini_mime (>= 0.1.1)
|
|
103
|
+
net-imap
|
|
104
|
+
net-pop
|
|
105
|
+
net-smtp
|
|
117
106
|
marcel (1.0.2)
|
|
118
107
|
method_source (1.0.0)
|
|
119
|
-
mini_mime (1.1.
|
|
120
|
-
mini_portile2 (2.8.
|
|
121
|
-
minitest (5.
|
|
108
|
+
mini_mime (1.1.5)
|
|
109
|
+
mini_portile2 (2.8.4)
|
|
110
|
+
minitest (5.19.0)
|
|
122
111
|
multi_json (1.15.0)
|
|
123
|
-
|
|
124
|
-
net-http-persistent (4.0.1)
|
|
112
|
+
net-http-persistent (4.0.2)
|
|
125
113
|
connection_pool (~> 2.2)
|
|
126
|
-
|
|
127
|
-
|
|
114
|
+
net-imap (0.3.7)
|
|
115
|
+
date
|
|
116
|
+
net-protocol
|
|
117
|
+
net-pop (0.1.2)
|
|
118
|
+
net-protocol
|
|
119
|
+
net-protocol (0.2.1)
|
|
120
|
+
timeout
|
|
121
|
+
net-smtp (0.3.3)
|
|
122
|
+
net-protocol
|
|
123
|
+
nio4r (2.5.9)
|
|
124
|
+
nokogiri (1.13.10)
|
|
128
125
|
mini_portile2 (~> 2.8.0)
|
|
129
126
|
racc (~> 1.4)
|
|
130
|
-
psych (
|
|
127
|
+
psych (5.1.0)
|
|
131
128
|
stringio
|
|
132
|
-
racc (1.
|
|
133
|
-
rack (2.2.
|
|
134
|
-
rack-test (
|
|
135
|
-
rack (>= 1.
|
|
129
|
+
racc (1.7.1)
|
|
130
|
+
rack (2.2.8)
|
|
131
|
+
rack-test (2.1.0)
|
|
132
|
+
rack (>= 1.3)
|
|
136
133
|
rails (6.1.4.7)
|
|
137
134
|
actioncable (= 6.1.4.7)
|
|
138
135
|
actionmailbox (= 6.1.4.7)
|
|
@@ -148,11 +145,12 @@ GEM
|
|
|
148
145
|
bundler (>= 1.15.0)
|
|
149
146
|
railties (= 6.1.4.7)
|
|
150
147
|
sprockets-rails (>= 2.0.0)
|
|
151
|
-
rails-dom-testing (2.0
|
|
152
|
-
activesupport (>=
|
|
148
|
+
rails-dom-testing (2.2.0)
|
|
149
|
+
activesupport (>= 5.0.0)
|
|
150
|
+
minitest
|
|
153
151
|
nokogiri (>= 1.6)
|
|
154
|
-
rails-html-sanitizer (1.
|
|
155
|
-
loofah (~> 2.
|
|
152
|
+
rails-html-sanitizer (1.5.0)
|
|
153
|
+
loofah (~> 2.19, >= 2.19.1)
|
|
156
154
|
railties (6.1.4.7)
|
|
157
155
|
actionpack (= 6.1.4.7)
|
|
158
156
|
activesupport (= 6.1.4.7)
|
|
@@ -160,7 +158,7 @@ GEM
|
|
|
160
158
|
rake (>= 0.13)
|
|
161
159
|
thor (~> 1.0)
|
|
162
160
|
rake (10.1.1)
|
|
163
|
-
rdoc (6.
|
|
161
|
+
rdoc (6.5.0)
|
|
164
162
|
psych (>= 4.0.0)
|
|
165
163
|
redgreen (1.2.2)
|
|
166
164
|
rspec (2.99.0)
|
|
@@ -172,24 +170,25 @@ GEM
|
|
|
172
170
|
diff-lcs (>= 1.1.3, < 2.0)
|
|
173
171
|
rspec-mocks (2.99.4)
|
|
174
172
|
ruby2_keywords (0.0.5)
|
|
175
|
-
sequel (5.
|
|
176
|
-
sprockets (4.0
|
|
173
|
+
sequel (5.71.0)
|
|
174
|
+
sprockets (4.2.0)
|
|
177
175
|
concurrent-ruby (~> 1.0)
|
|
178
|
-
rack (
|
|
176
|
+
rack (>= 2.2.4, < 4)
|
|
179
177
|
sprockets-rails (3.4.2)
|
|
180
178
|
actionpack (>= 5.2)
|
|
181
179
|
activesupport (>= 5.2)
|
|
182
180
|
sprockets (>= 3.0.0)
|
|
183
|
-
sqlite3 (1.4.
|
|
184
|
-
stringio (3.0.
|
|
185
|
-
thor (1.2.
|
|
186
|
-
|
|
181
|
+
sqlite3 (1.4.4)
|
|
182
|
+
stringio (3.0.6)
|
|
183
|
+
thor (1.2.2)
|
|
184
|
+
timeout (0.4.0)
|
|
185
|
+
tzinfo (2.0.6)
|
|
187
186
|
concurrent-ruby (~> 1.0)
|
|
188
|
-
websocket-driver (0.7.
|
|
187
|
+
websocket-driver (0.7.6)
|
|
189
188
|
websocket-extensions (>= 0.1.0)
|
|
190
189
|
websocket-extensions (0.1.5)
|
|
191
|
-
will_paginate (
|
|
192
|
-
zeitwerk (2.
|
|
190
|
+
will_paginate (4.0.0)
|
|
191
|
+
zeitwerk (2.6.11)
|
|
193
192
|
|
|
194
193
|
PLATFORMS
|
|
195
194
|
ruby
|
|
@@ -212,4 +211,4 @@ DEPENDENCIES
|
|
|
212
211
|
will_paginate (>= 2.3.15)
|
|
213
212
|
|
|
214
213
|
BUNDLED WITH
|
|
215
|
-
1.
|
|
214
|
+
2.1.4
|
data/lib/algoliasearch-rails.rb
CHANGED
|
@@ -123,7 +123,7 @@ module AlgoliaSearch
|
|
|
123
123
|
end
|
|
124
124
|
|
|
125
125
|
def is_sequel?(object)
|
|
126
|
-
defined?(::Sequel) && object.class < ::Sequel::Model
|
|
126
|
+
defined?(::Sequel) && defined?(::Sequel::Model) && object.class < ::Sequel::Model
|
|
127
127
|
end
|
|
128
128
|
|
|
129
129
|
def is_active_record?(object)
|
|
@@ -382,7 +382,7 @@ module AlgoliaSearch
|
|
|
382
382
|
attr_accessor :highlight_result, :snippet_result
|
|
383
383
|
|
|
384
384
|
if options[:synchronous] == true
|
|
385
|
-
if defined?(::Sequel) && self < Sequel::Model
|
|
385
|
+
if defined?(::Sequel) && defined?(::Sequel::Model) && self < Sequel::Model
|
|
386
386
|
class_eval do
|
|
387
387
|
copy_after_validation = instance_method(:after_validation)
|
|
388
388
|
define_method(:after_validation) do |*args|
|
|
@@ -413,7 +413,7 @@ module AlgoliaSearch
|
|
|
413
413
|
end
|
|
414
414
|
end
|
|
415
415
|
unless options[:auto_index] == false
|
|
416
|
-
if defined?(::Sequel) && self < Sequel::Model
|
|
416
|
+
if defined?(::Sequel) && defined?(::Sequel::Model) && self < Sequel::Model
|
|
417
417
|
class_eval do
|
|
418
418
|
copy_after_validation = instance_method(:after_validation)
|
|
419
419
|
copy_before_save = instance_method(:before_save)
|
|
@@ -460,7 +460,7 @@ module AlgoliaSearch
|
|
|
460
460
|
end
|
|
461
461
|
end
|
|
462
462
|
unless options[:auto_remove] == false
|
|
463
|
-
if defined?(::Sequel) && self < Sequel::Model
|
|
463
|
+
if defined?(::Sequel) && defined?(::Sequel::Model) && self < Sequel::Model
|
|
464
464
|
class_eval do
|
|
465
465
|
copy_after_destroy = instance_method(:after_destroy)
|
|
466
466
|
|
|
@@ -753,14 +753,13 @@ module AlgoliaSearch
|
|
|
753
753
|
next if options[:replica]
|
|
754
754
|
return true if algolia_object_id_changed?(object, options)
|
|
755
755
|
settings.get_attribute_names(object).each do |k|
|
|
756
|
-
return true if algolia_attribute_changed?(object, k)
|
|
757
|
-
# return true if !object.respond_to?(changed_method) || object.send(changed_method)
|
|
756
|
+
return true if algolia_attribute_changed?(object, k, true)
|
|
758
757
|
end
|
|
759
758
|
[options[:if], options[:unless]].each do |condition|
|
|
760
759
|
case condition
|
|
761
760
|
when nil
|
|
762
761
|
when String, Symbol
|
|
763
|
-
return true if algolia_attribute_changed?(object, condition)
|
|
762
|
+
return true if algolia_attribute_changed?(object, condition, true)
|
|
764
763
|
else
|
|
765
764
|
# if the :if, :unless condition is a anything else,
|
|
766
765
|
# we have no idea whether we should reindex or not
|
|
@@ -837,7 +836,7 @@ module AlgoliaSearch
|
|
|
837
836
|
end
|
|
838
837
|
|
|
839
838
|
def algolia_object_id_changed?(o, options = nil)
|
|
840
|
-
changed = algolia_attribute_changed?(o, algolia_object_id_method(options))
|
|
839
|
+
changed = algolia_attribute_changed?(o, algolia_object_id_method(options), false)
|
|
841
840
|
changed.nil? ? false : changed
|
|
842
841
|
end
|
|
843
842
|
|
|
@@ -918,7 +917,7 @@ module AlgoliaSearch
|
|
|
918
917
|
def algolia_find_in_batches(batch_size, &block)
|
|
919
918
|
if (defined?(::ActiveRecord) && ancestors.include?(::ActiveRecord::Base)) || respond_to?(:find_in_batches)
|
|
920
919
|
find_in_batches(:batch_size => batch_size, &block)
|
|
921
|
-
elsif defined?(::Sequel) && self < Sequel::Model
|
|
920
|
+
elsif defined?(::Sequel) && defined?(::Sequel::Model) && self < Sequel::Model
|
|
922
921
|
dataset.extension(:pagination).each_page(batch_size, &block)
|
|
923
922
|
else
|
|
924
923
|
# don't worry, mongoid has its own underlying cursor/streaming mechanism
|
|
@@ -934,7 +933,7 @@ module AlgoliaSearch
|
|
|
934
933
|
end
|
|
935
934
|
end
|
|
936
935
|
|
|
937
|
-
def algolia_attribute_changed?(object, attr_name)
|
|
936
|
+
def algolia_attribute_changed?(object, attr_name, default)
|
|
938
937
|
# if one of two method is implemented, we return its result
|
|
939
938
|
# true/false means whether it has changed or not
|
|
940
939
|
# +#{attr_name}_changed?+ always defined for automatic attributes but deprecated after Rails 5.2
|
|
@@ -963,8 +962,8 @@ module AlgoliaSearch
|
|
|
963
962
|
return object.send("will_save_change_to_#{attr_name}?")
|
|
964
963
|
end
|
|
965
964
|
|
|
966
|
-
# We don't know if the attribute has changed, so
|
|
967
|
-
|
|
965
|
+
# We don't know if the attribute has changed, so return the default passed
|
|
966
|
+
default
|
|
968
967
|
end
|
|
969
968
|
|
|
970
969
|
def automatic_changed_method?(object, method_name)
|
|
@@ -1031,7 +1030,7 @@ module AlgoliaSearch
|
|
|
1031
1030
|
# algolia_must_reindex flag is reset after every commit as part. If we must reindex at any point in
|
|
1032
1031
|
# a stransaction, keep flag set until it is explicitly unset
|
|
1033
1032
|
@algolia_must_reindex ||=
|
|
1034
|
-
if defined?(::Sequel) && is_a?(Sequel::Model)
|
|
1033
|
+
if defined?(::Sequel) && defined?(::Sequel::Model) && is_a?(Sequel::Model)
|
|
1035
1034
|
new? || self.class.algolia_must_reindex?(self)
|
|
1036
1035
|
else
|
|
1037
1036
|
new_record? || self.class.algolia_must_reindex?(self)
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: algoliasearch-rails
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.3.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Algolia
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2023-09-12 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: json
|