pg_search 2.1.3 → 2.1.4
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/.rubocop.yml +9 -6
- data/.travis.yml +12 -3
- data/CHANGELOG.md +121 -116
- data/Gemfile +2 -0
- data/README.md +1 -1
- data/Rakefile +2 -0
- data/lib/pg_search.rb +5 -3
- data/lib/pg_search/configuration.rb +5 -3
- data/lib/pg_search/configuration/association.rb +2 -0
- data/lib/pg_search/configuration/column.rb +2 -0
- data/lib/pg_search/configuration/foreign_column.rb +2 -0
- data/lib/pg_search/document.rb +4 -2
- data/lib/pg_search/features.rb +2 -0
- data/lib/pg_search/features/dmetaphone.rb +2 -0
- data/lib/pg_search/features/feature.rb +3 -1
- data/lib/pg_search/features/trigram.rb +2 -0
- data/lib/pg_search/features/tsearch.rb +2 -0
- data/lib/pg_search/migration/dmetaphone_generator.rb +3 -1
- data/lib/pg_search/migration/generator.rb +2 -0
- data/lib/pg_search/migration/multisearch_generator.rb +2 -1
- data/lib/pg_search/multisearch.rb +3 -3
- data/lib/pg_search/multisearch/rebuilder.rb +4 -2
- data/lib/pg_search/multisearchable.rb +2 -2
- data/lib/pg_search/normalizer.rb +2 -0
- data/lib/pg_search/railtie.rb +2 -0
- data/lib/pg_search/scope_options.rb +8 -6
- data/lib/pg_search/tasks.rb +2 -0
- data/lib/pg_search/version.rb +3 -1
- data/pg_search.gemspec +6 -5
- data/spec/integration/associations_spec.rb +9 -7
- data/spec/integration/pagination_spec.rb +2 -0
- data/spec/integration/pg_search_spec.rb +26 -24
- data/spec/integration/single_table_inheritance_spec.rb +2 -1
- data/spec/lib/pg_search/configuration/association_spec.rb +5 -3
- data/spec/lib/pg_search/configuration/column_spec.rb +2 -0
- data/spec/lib/pg_search/configuration/foreign_column_spec.rb +3 -1
- data/spec/lib/pg_search/features/dmetaphone_spec.rb +2 -0
- data/spec/lib/pg_search/features/trigram_spec.rb +2 -0
- data/spec/lib/pg_search/features/tsearch_spec.rb +6 -4
- data/spec/lib/pg_search/multisearch/rebuilder_spec.rb +2 -0
- data/spec/lib/pg_search/multisearch_spec.rb +2 -0
- data/spec/lib/pg_search/multisearchable_spec.rb +8 -6
- data/spec/lib/pg_search/normalizer_spec.rb +2 -0
- data/spec/lib/pg_search_spec.rb +5 -3
- data/spec/spec_helper.rb +2 -0
- data/spec/support/database.rb +3 -1
- data/spec/support/with_model.rb +2 -0
- metadata +6 -23
- data/.rubocop_todo.yml +0 -153
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d3d24ca431eaf08e99b0d374bd21f24ad6c6c5c3ae39b5d6d4339be5ca8f556e
|
4
|
+
data.tar.gz: 5be5841ec1e98be066cdb1f92f055721bf1a79fb10fa1b3a3ac52be0f0f539e4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e9a08bd5e623a50c863ce0e8abe8b2d1411ce64d3055ebba3d88e3d560884da92c423113e263d680b5489a200cbda743d4926d455a4b015b136a9207de8de5c5
|
7
|
+
data.tar.gz: 92c05e6b51c64753ddc04ee4c39e2328b22b374d2bd891cbdcf30d54dc0fa9b693cd2e0d99a1e2d31e73416215f4844f8297d3406ed365e3f12aa52877f2060a
|
data/.rubocop.yml
CHANGED
@@ -1,7 +1,5 @@
|
|
1
|
-
inherit_from: .rubocop_todo.yml
|
2
|
-
|
3
1
|
AllCops:
|
4
|
-
TargetRubyVersion: 2.
|
2
|
+
TargetRubyVersion: 2.3
|
5
3
|
Exclude:
|
6
4
|
- bin/**/*
|
7
5
|
|
@@ -46,8 +44,13 @@ Bundler/DuplicatedGem:
|
|
46
44
|
|
47
45
|
Style/EmptyMethod:
|
48
46
|
EnforcedStyle: expanded
|
47
|
+
|
48
|
+
Layout/IndentArray:
|
49
|
+
EnforcedStyle: consistent
|
49
50
|
|
50
|
-
|
51
|
-
# https://github.com/bbatsov/rubocop/pull/5230
|
52
|
-
Style/FormatStringToken:
|
51
|
+
Style/Documentation:
|
53
52
|
Enabled: false
|
53
|
+
|
54
|
+
Style/WordArray:
|
55
|
+
EnforcedStyle: percent
|
56
|
+
MinSize: 3
|
data/.travis.yml
CHANGED
@@ -4,14 +4,16 @@ bundler_args: --binstubs
|
|
4
4
|
before_install: gem install bundler
|
5
5
|
|
6
6
|
rvm:
|
7
|
+
- "2.6.0"
|
7
8
|
- "2.5.3"
|
8
9
|
- "2.4.5"
|
9
10
|
- "2.3.8"
|
10
|
-
- "jruby-9.2.
|
11
|
+
- "jruby-9.2.5.0"
|
11
12
|
|
12
13
|
env:
|
13
14
|
- ACTIVE_RECORD_BRANCH="master"
|
14
15
|
- ACTIVE_RECORD_BRANCH="5-2-stable"
|
16
|
+
- ACTIVE_RECORD_VERSION="~> 6.0.0.beta1"
|
15
17
|
- ACTIVE_RECORD_VERSION="~> 5.2.0"
|
16
18
|
- ACTIVE_RECORD_VERSION="~> 5.1.0"
|
17
19
|
- ACTIVE_RECORD_VERSION="~> 5.0.0"
|
@@ -21,11 +23,18 @@ matrix:
|
|
21
23
|
allow_failures:
|
22
24
|
- env: ACTIVE_RECORD_BRANCH="master"
|
23
25
|
- env: ACTIVE_RECORD_BRANCH="5-2-stable"
|
26
|
+
- env: ACTIVE_RECORD_VERSION="~> 6.0.0.beta1"
|
24
27
|
exclude:
|
25
|
-
- rvm: 2.3.8
|
28
|
+
- rvm: "2.3.8"
|
26
29
|
env: ACTIVE_RECORD_BRANCH="master"
|
27
|
-
- rvm:
|
30
|
+
- rvm: "2.4.5"
|
31
|
+
env: ACTIVE_RECORD_BRANCH="master"
|
32
|
+
- rvm: jruby-9.2.5.0
|
28
33
|
env: ACTIVE_RECORD_VERSION="~> 4.2.9"
|
34
|
+
- rvm: "2.3.8"
|
35
|
+
env: ACTIVE_RECORD_VERSION="~> 6.0.0.beta1"
|
36
|
+
- rvm: "2.4.5"
|
37
|
+
env: ACTIVE_RECORD_VERSION="~> 6.0.0.beta1"
|
29
38
|
|
30
39
|
before_script:
|
31
40
|
- "psql --version"
|
data/CHANGELOG.md
CHANGED
@@ -1,287 +1,292 @@
|
|
1
1
|
# pg_search changelog
|
2
2
|
|
3
|
+
## 2.1.4
|
4
|
+
|
5
|
+
* Drop support for Ruby < 2.3
|
6
|
+
* Use update instead of deprecated update_attributes
|
7
|
+
* Remove explicit arel dependency to better support Active Record 6 beta
|
8
|
+
|
3
9
|
## 2.1.3
|
4
10
|
|
5
|
-
*
|
6
|
-
*
|
7
|
-
*
|
8
|
-
*
|
11
|
+
* Drop support for Ruby < 2.2
|
12
|
+
* Disallow left/right single quotation marks in tsquery (Fabian Schwahn) (#382)
|
13
|
+
* Do not attempt to save an already-destroy PgSearch::Document (Oleg Dashevskii, Vokhmin Aleksei V) (#353)
|
14
|
+
* Quote column name when rebuilding (Jed Levin) (#379)
|
9
15
|
|
10
16
|
## 2.1.2
|
11
17
|
|
12
|
-
*
|
18
|
+
* Silence warnings in Rails 5.2.0.beta2 (Kevin Deisz)
|
13
19
|
|
14
20
|
## 2.1.1
|
15
21
|
|
16
|
-
*
|
22
|
+
* Support snake_case ts_headline options again (with deprecation warning)
|
17
23
|
|
18
24
|
## 2.1.0
|
19
25
|
|
20
|
-
*
|
21
|
-
*
|
22
|
-
*
|
26
|
+
* Allow ts_headline options to be passed to :highlight (Ian Heisters)
|
27
|
+
* Wait to load PgSearch::Document until after Active Record has loaded (Logan Leger)
|
28
|
+
* Add Rails version to generated migrations (Erik Eide)
|
23
29
|
|
24
30
|
## 2.0.1
|
25
31
|
|
26
|
-
*
|
32
|
+
* Remove require for generator that no longer exists. (Joshua Bartlett)
|
27
33
|
|
28
34
|
## 2.0.0
|
29
35
|
|
30
|
-
*
|
31
|
-
*
|
32
|
-
*
|
33
|
-
*
|
36
|
+
* Drop support for PostgreSQL < 9.2.
|
37
|
+
* Drop support for Active Record < 4.2.
|
38
|
+
* Drop support for Ruby < 2.1.
|
39
|
+
* Improve performance of has_one and belongs_to associations. (Peter Postma)
|
34
40
|
|
35
41
|
## 1.0.6
|
36
42
|
|
37
|
-
*
|
38
|
-
*
|
39
|
-
*
|
43
|
+
* Add support for highlighting the matching portion of a search result. (Jose Galisteo)
|
44
|
+
* Add `:update_if` option to control when PgSearch::Document gets updated. (Adam Becker)
|
45
|
+
* Add `:additional_attributes` option for adding additional attributes to PgSearch::Document
|
40
46
|
|
41
47
|
## 1.0.5
|
42
48
|
|
43
|
-
*
|
44
|
-
*
|
49
|
+
* Clean up rank table aliasing. (Adam Milligan)
|
50
|
+
* Fix issue when using `#with_pg_search_rank` across a join. (Reid Lynch)
|
45
51
|
|
46
52
|
## 1.0.4
|
47
53
|
|
48
|
-
*
|
49
|
-
*
|
54
|
+
* Assert valid options for features. (Janko Marohnić)
|
55
|
+
* Enable chaining of pg_search scopes. (Nicolas Buduroi)
|
50
56
|
|
51
57
|
## 1.0.3
|
52
58
|
|
53
|
-
*
|
59
|
+
* Support STI models using a custom inheritance column. (Nick Doiron)
|
54
60
|
|
55
61
|
## 1.0.2
|
56
62
|
|
57
|
-
*
|
63
|
+
* Don’t use SQL to rebuild search documents when models are multisearchable against dynamic methods and not just columns. Iterate over each record with `find_each` instead.
|
58
64
|
|
59
65
|
## 1.0.1
|
60
66
|
|
61
|
-
*
|
67
|
+
* Call `.unscoped` on relation used to build subquery, to eliminate unnecessary JOINs. (Markus Doits)
|
62
68
|
|
63
69
|
## 1.0.0
|
64
70
|
|
65
|
-
*
|
66
|
-
*
|
67
|
-
*
|
71
|
+
* Support more `ActiveRecord::Relation` methods, such as `#pluck` and `#select` by moving search-related operations to subquery.
|
72
|
+
* Generate index by default in migration for `pg_search_documents` table.
|
73
|
+
* Start officially using [Semantic Versioning 2.0.0](http://semver.org/spec/v2.0.0.html).
|
68
74
|
|
69
75
|
## 0.7.9
|
70
76
|
|
71
|
-
*
|
77
|
+
* Improve support for single table inheritance (STI) models. (Ewan McDougall)
|
72
78
|
|
73
79
|
## 0.7.8
|
74
80
|
|
75
|
-
*
|
81
|
+
* Stop inadvertently including binstubs for guard and rspec.
|
76
82
|
|
77
83
|
## 0.7.7
|
78
84
|
|
79
|
-
*
|
85
|
+
* Fix future compatibility with Active Record 4.2.
|
80
86
|
|
81
87
|
## 0.7.6
|
82
88
|
|
83
|
-
*
|
84
|
-
*
|
89
|
+
* Fix migration generator in Rails 3. (Andrew Marshall and Nora Lin)
|
90
|
+
* Add `:only` option for limiting search fields per feature. (Jonathan Greenberg)
|
85
91
|
|
86
92
|
## 0.7.5
|
87
93
|
|
88
|
-
*
|
94
|
+
* Add option to make feature available only for sorting. (Brent Wheeldon)
|
89
95
|
|
90
96
|
## 0.7.4
|
91
97
|
|
92
|
-
*
|
93
|
-
*
|
98
|
+
* Fix which STI class name is used for searchable_type for PgSearch::Document. (Ewan McDougall)
|
99
|
+
* Add support for non-standard primary keys. (Matt Beedle)
|
94
100
|
|
95
101
|
## 0.7.3
|
96
102
|
|
97
|
-
*
|
103
|
+
* Allow simultaneously searching using `:associated_against` and `:tsvector_column` (Adam Becker)
|
98
104
|
|
99
105
|
## 0.7.2
|
100
106
|
|
101
|
-
*
|
107
|
+
* Add :threshold option for configuring how permissive trigram searches are.
|
102
108
|
|
103
109
|
## 0.7.1
|
104
110
|
|
105
|
-
*
|
106
|
-
|
111
|
+
* Fix issue with {:using => :trigram, :ignoring => :accents} that generated
|
112
|
+
bad SQL. (Steven Harman)
|
107
113
|
|
108
114
|
## 0.7.0
|
109
115
|
|
110
|
-
*
|
116
|
+
* Start requiring Ruby 1.9.2 or later.
|
111
117
|
|
112
118
|
## 0.6.4
|
113
119
|
|
114
|
-
*
|
120
|
+
* Fix issue with using more than two features in the same scope.
|
115
121
|
|
116
122
|
## 0.6.3
|
117
123
|
|
118
|
-
*
|
124
|
+
* Fix issues and deprecations for Active Record 4.0.0.rc1.
|
119
125
|
|
120
126
|
## 0.6.2
|
121
127
|
|
122
|
-
*
|
123
|
-
|
128
|
+
* Add workaround for issue with how ActiveRecord relations handle Arel OR
|
129
|
+
nodes.
|
124
130
|
|
125
131
|
## 0.6.1
|
126
132
|
|
127
|
-
*
|
128
|
-
|
133
|
+
* Fix issue with Arel::InfixOperation that prevented #count from working,
|
134
|
+
breaking pagination.
|
129
135
|
|
130
136
|
## 0.6.0
|
131
137
|
|
132
|
-
*
|
133
|
-
*
|
134
|
-
*
|
135
|
-
*
|
136
|
-
*
|
137
|
-
*
|
138
|
+
* Drop support for Active Record 3.0.
|
139
|
+
* Address warnings in Ruby 2.0.
|
140
|
+
* Remove all usages of sanitize_sql_array for future Rails 4 compatibility.
|
141
|
+
* Start using Arel internally to build SQL strings (not yet complete).
|
142
|
+
* Disable eager loading, fixes issue #14.
|
143
|
+
* Support named schemas in pg_search:multisearch:rebuild. (Victor Olteanu)
|
138
144
|
|
139
145
|
|
140
146
|
## 0.5.7
|
141
147
|
|
142
|
-
*
|
143
|
-
|
148
|
+
* Fix issue with eager loading now that the Scope class has been removed.
|
149
|
+
(Piotr Murach)
|
144
150
|
|
145
151
|
|
146
152
|
## 0.5.6
|
147
153
|
|
148
|
-
*
|
149
|
-
|
150
|
-
*
|
154
|
+
* PgSearch#multisearchable accepts :if and :unless for conditional inclusion
|
155
|
+
in search documents table. (Francois Harbec)
|
156
|
+
* Stop using array_to_string() in SQL since it is not indexable.
|
151
157
|
|
152
158
|
|
153
159
|
## 0.5.5
|
154
160
|
|
155
|
-
*
|
156
|
-
*
|
161
|
+
* Fix bug with single table inheritance.
|
162
|
+
* Allow option for specifying an alternate function for unaccent().
|
157
163
|
|
158
164
|
|
159
165
|
## 0.5.4
|
160
166
|
|
161
|
-
*
|
162
|
-
|
163
|
-
*
|
167
|
+
* Fix bug in associated_against join clause when search scope is chained
|
168
|
+
after other scopes.
|
169
|
+
* Fix autoloading of PgSearch::VERSION constant.
|
164
170
|
|
165
171
|
|
166
172
|
## 0.5.3
|
167
173
|
|
168
|
-
*
|
169
|
-
|
174
|
+
* Prevent multiple attempts to create pg_search_document within a single
|
175
|
+
transaction. (JT Archie & Trace Wax)
|
170
176
|
|
171
177
|
|
172
178
|
## 0.5.2
|
173
179
|
|
174
|
-
*
|
180
|
+
* Don't save twice if pg_search_document is missing on update.
|
175
181
|
|
176
182
|
|
177
183
|
## 0.5.1
|
178
184
|
|
179
|
-
*
|
185
|
+
* Add ability to override multisearch rebuild SQL.
|
180
186
|
|
181
187
|
|
182
188
|
## 0.5
|
183
189
|
|
184
|
-
*
|
185
|
-
*
|
186
|
-
|
187
|
-
*
|
190
|
+
* Convert migration rake tasks into generators.
|
191
|
+
* Use rake task arguments for multisearch rebuild instead of environment
|
192
|
+
variable.
|
193
|
+
* Always cast columns to text.
|
188
194
|
|
189
195
|
|
190
196
|
## 0.4.2
|
191
197
|
|
192
|
-
*
|
193
|
-
|
194
|
-
*
|
195
|
-
*
|
196
|
-
*
|
197
|
-
*
|
198
|
+
* Fill in timestamps correctly when rebuilding multisearch documents.
|
199
|
+
(Barton McGuire)
|
200
|
+
* Fix various issues with rebuilding multisearch documents. (Eugen Neagoe)
|
201
|
+
* Fix syntax error in pg_search_dmetaphone() migration. (Casey Foster)
|
202
|
+
* Rename PgSearch#rank to PgSearch#pg_search_rank and always return a Float.
|
203
|
+
* Fix issue with :associated_against and non-text columns.
|
198
204
|
|
199
205
|
|
200
206
|
## 0.4.1
|
201
207
|
|
202
|
-
*
|
208
|
+
* Fix Active Record 3.2 deprecation warnings. (Steven Harman)
|
203
209
|
|
204
|
-
*
|
205
|
-
|
210
|
+
* Fix issue with undefined logger when PgSearch::Document.search is already
|
211
|
+
defined.
|
206
212
|
|
207
213
|
|
208
214
|
## 0.4
|
209
215
|
|
210
|
-
*
|
216
|
+
* Add ability to search again tsvector columns. (Kris Hicks)
|
211
217
|
|
212
218
|
|
213
219
|
## 0.3.4
|
214
220
|
|
215
|
-
*
|
216
|
-
*
|
221
|
+
* Fix issue with {:using => {:tsearch => {:prefix => true}}} and hyphens.
|
222
|
+
* Get tests running against PostgreSQL 9.1 by using CREATE EXTENSION
|
217
223
|
|
218
224
|
|
219
225
|
## 0.3.3
|
220
226
|
|
221
|
-
*
|
222
|
-
|
223
|
-
*
|
224
|
-
|
225
|
-
*
|
226
|
-
|
227
|
+
* Backport array_agg() aggregate function to PostgreSQL 8.3 and earlier.
|
228
|
+
This fixes :associated_against searches.
|
229
|
+
* Backport unnest() function to PostgreSQL 8.3 and earlier. This fixes
|
230
|
+
{:using => :dmetaphone} searches.
|
231
|
+
* Disable {:using => {:tsearch => {:prefix => true}}} in PostgreSQL 8.3 and
|
232
|
+
earlier.
|
227
233
|
|
228
234
|
|
229
235
|
## 0.3.2
|
230
236
|
|
231
|
-
*
|
232
|
-
*
|
237
|
+
* Fix :prefix search in PostgreSQL 8.x
|
238
|
+
* Disable {:ignoring => :accents} in PostgreSQL 8.x
|
233
239
|
|
234
240
|
|
235
241
|
## 0.3.1
|
236
242
|
|
237
|
-
*
|
243
|
+
* Fix syntax error in generated dmetaphone migration. (Max De Marzi)
|
238
244
|
|
239
245
|
|
240
246
|
## 0.3
|
241
247
|
|
242
|
-
*
|
243
|
-
*
|
244
|
-
*
|
245
|
-
*
|
246
|
-
|
247
|
-
*
|
248
|
-
|
248
|
+
* Drop Active Record 2.0 support.
|
249
|
+
* Add PgSearch.multisearch for cross-model searching.
|
250
|
+
* Fix PostgreSQL warnings about truncated identifiers
|
251
|
+
* Support specifying a method of rank normalisation when using tsearch.
|
252
|
+
(Arthur Gunn)
|
253
|
+
* Add :any_word option to :tsearch which uses OR between query terms instead
|
254
|
+
of AND. (Fernando Espinosa)
|
249
255
|
|
250
256
|
## 0.2.2
|
251
257
|
|
252
|
-
*
|
253
|
-
|
258
|
+
* Fix a compatibility issue between Ruby 1.8.7 and 1.9.3 when using Rails 2
|
259
|
+
(James Badger)
|
254
260
|
|
255
261
|
## 0.2.1
|
256
262
|
|
257
|
-
*
|
263
|
+
* Backport support for searching against tsvector columns (Kris Hicks)
|
258
264
|
|
259
265
|
## 0.2
|
260
266
|
|
261
|
-
*
|
262
|
-
|
263
|
-
|
264
|
-
*
|
265
|
-
*
|
266
|
-
|
267
|
+
* Set dictionary to :simple by default for :tsearch. Before it was unset,
|
268
|
+
which would fall back to PostgreSQL's default dictionary, usually
|
269
|
+
"english".
|
270
|
+
* Fix a bug with search strings containing a colon ":"
|
271
|
+
* Improve performance of :associated_against by only doing one INNER JOIN
|
272
|
+
per association
|
267
273
|
|
268
274
|
## 0.1.1
|
269
275
|
|
270
|
-
*
|
271
|
-
|
276
|
+
* Fix a bug with dmetaphone searches containing " w " (which dmetaphone maps
|
277
|
+
to an empty string)
|
272
278
|
|
273
279
|
## 0.1
|
274
280
|
|
275
|
-
*
|
276
|
-
*
|
277
|
-
*
|
278
|
-
|
281
|
+
* Change API to {:ignoring => :accents} from {:normalizing => :diacritics}
|
282
|
+
* Improve documentation
|
283
|
+
* Fix bug where :associated_against would not work without an :against
|
284
|
+
present
|
279
285
|
|
280
286
|
## 0.0.2
|
281
287
|
|
282
|
-
*
|
288
|
+
* Fix gem ownership.
|
283
289
|
|
284
|
-
#
|
285
290
|
## 0.0.1
|
286
291
|
|
287
|
-
*
|
292
|
+
* Initial release.
|