pg_search 2.3.0 → 2.3.1
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/.codeclimate.yml +1 -0
- data/.rubocop.yml +3 -3
- data/.travis.yml +16 -17
- data/CHANGELOG.md +5 -0
- data/Gemfile +1 -1
- data/README.md +14 -13
- data/lib/pg_search.rb +1 -1
- data/lib/pg_search/tasks.rb +1 -0
- data/lib/pg_search/version.rb +1 -1
- data/pg_search.gemspec +3 -3
- data/spec/.rubocop.yml +2 -2
- data/spec/lib/pg_search/multisearch/rebuilder_spec.rb +4 -17
- metadata +8 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8f13cb418b0d27e5136ca3f62d70e67e43ca8c9917ec35415fb142096f415ef0
|
4
|
+
data.tar.gz: 31d34f5408bdda3131920bf1daa9e8f3204c47ba1edfc867d8926d4f32bc5800
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 794064f36a7a6ebbea348273fb64fcf429a9d0ab44e0da83338858925ba8f311da348b259a3b447bbdc63ebf7da40dd87ee1bc8ef7e1b637aa3f77b264444099
|
7
|
+
data.tar.gz: 4b5b80dc6964fede4e29e22ec34c0bdf20db9719e7f9ca8d094de11d60eb5b2937163a0d466de9c103e454bfc1cbf886ba62269cd240eed1d2b8469154e76b09
|
data/.codeclimate.yml
CHANGED
data/.rubocop.yml
CHANGED
@@ -9,7 +9,7 @@ AllCops:
|
|
9
9
|
Style/StringLiterals:
|
10
10
|
Enabled: false
|
11
11
|
|
12
|
-
|
12
|
+
Layout/LineLength:
|
13
13
|
Max: 120
|
14
14
|
|
15
15
|
Metrics/MethodLength:
|
@@ -19,7 +19,7 @@ Metrics/BlockLength:
|
|
19
19
|
Exclude:
|
20
20
|
- spec/**/*
|
21
21
|
|
22
|
-
Layout/
|
22
|
+
Layout/ParameterAlignment:
|
23
23
|
EnforcedStyle: with_fixed_indentation
|
24
24
|
|
25
25
|
Style/NumericPredicate:
|
@@ -45,7 +45,7 @@ Bundler/DuplicatedGem:
|
|
45
45
|
Style/EmptyMethod:
|
46
46
|
EnforcedStyle: expanded
|
47
47
|
|
48
|
-
Layout/
|
48
|
+
Layout/FirstArrayElementIndentation:
|
49
49
|
EnforcedStyle: consistent
|
50
50
|
|
51
51
|
Style/Documentation:
|
data/.travis.yml
CHANGED
@@ -1,38 +1,34 @@
|
|
1
1
|
language: ruby
|
2
|
-
sudo: false
|
3
2
|
bundler_args: --binstubs
|
4
3
|
cache: bundler
|
5
4
|
|
6
5
|
rvm:
|
7
|
-
- 2.6.
|
8
|
-
- 2.5.
|
9
|
-
- 2.4.
|
10
|
-
- jruby-9.2.
|
6
|
+
- 2.6.5
|
7
|
+
- 2.5.7
|
8
|
+
- 2.4.9
|
9
|
+
- jruby-9.2.8.0
|
11
10
|
|
12
11
|
env:
|
13
12
|
global:
|
14
13
|
- CC_TEST_REPORTER_ID=0a0e3e45118bc447e677d52c21d056a5471c4921d54f96ed7b2550d9fc5043ea
|
15
14
|
matrix:
|
16
15
|
- ACTIVE_RECORD_BRANCH="master"
|
17
|
-
- ACTIVE_RECORD_BRANCH="
|
18
|
-
- ACTIVE_RECORD_VERSION="~> 6.0.0
|
16
|
+
- ACTIVE_RECORD_BRANCH="6-0-stable"
|
17
|
+
- ACTIVE_RECORD_VERSION="~> 6.0.0"
|
19
18
|
- ACTIVE_RECORD_VERSION="~> 5.2.0"
|
20
|
-
|
21
|
-
- ACTIVE_RECORD_VERSION="~> 5.0.0"
|
22
|
-
- ACTIVE_RECORD_VERSION="~> 4.2.9"
|
19
|
+
|
23
20
|
|
24
21
|
matrix:
|
25
22
|
allow_failures:
|
26
23
|
- env: ACTIVE_RECORD_BRANCH="master"
|
27
|
-
- env: ACTIVE_RECORD_BRANCH="
|
28
|
-
- env: ACTIVE_RECORD_VERSION="~> 6.0.0.beta1"
|
24
|
+
- env: ACTIVE_RECORD_BRANCH="6-0-stable"
|
29
25
|
exclude:
|
30
|
-
- rvm: 2.4.
|
26
|
+
- rvm: 2.4.9
|
31
27
|
env: ACTIVE_RECORD_BRANCH="master"
|
32
|
-
- rvm:
|
33
|
-
env: ACTIVE_RECORD_VERSION="~>
|
34
|
-
- rvm: 2.4.
|
35
|
-
|
28
|
+
- rvm: 2.4.9
|
29
|
+
env: ACTIVE_RECORD_VERSION="~> 6.0.0"
|
30
|
+
- rvm: 2.4.9
|
31
|
+
- env: ACTIVE_RECORD_BRANCH="6-0-stable"
|
36
32
|
|
37
33
|
before_script:
|
38
34
|
- psql --version
|
@@ -46,5 +42,8 @@ script: bin/rake
|
|
46
42
|
after_script:
|
47
43
|
- ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT
|
48
44
|
|
45
|
+
jdk:
|
46
|
+
- openjdk8
|
47
|
+
|
49
48
|
addons:
|
50
49
|
postgresql: "9.6"
|
data/CHANGELOG.md
CHANGED
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -17,7 +17,7 @@ Read the blog post introducing PgSearch at https://content.pivotal.io/blog/pg-se
|
|
17
17
|
## REQUIREMENTS
|
18
18
|
|
19
19
|
* Ruby 2.4+
|
20
|
-
* ActiveRecord
|
20
|
+
* ActiveRecord 5.2+
|
21
21
|
* PostgreSQL 9.2+
|
22
22
|
* [PostgreSQL extensions](https://github.com/Casecommons/pg_search/wiki/Installing-PostgreSQL-Extensions) for certain features
|
23
23
|
|
@@ -175,15 +175,17 @@ multisearchable(
|
|
175
175
|
|
176
176
|
**Specify additional attributes to be saved on the pg_search_documents table**
|
177
177
|
|
178
|
-
You can specify `:additional_attributes` to be saved within the pg_search_documents table. For example, perhaps you are indexing a book model and an article model and wanted to include the author_id.
|
178
|
+
You can specify `:additional_attributes` to be saved within the `pg_search_documents` table. For example, perhaps you are indexing a book model and an article model and wanted to include the author_id.
|
179
179
|
|
180
|
-
First, we need to add
|
180
|
+
First, we need to add a reference to author to the migration creating our `pg_search_documents` table.
|
181
181
|
|
182
182
|
```ruby
|
183
183
|
create_table :pg_search_documents do |t|
|
184
|
-
|
185
|
-
|
186
|
-
|
184
|
+
t.text :content
|
185
|
+
t.references :author, index: true
|
186
|
+
t.belongs_to :searchable, polymorphic: true, index: true
|
187
|
+
t.timestamps null: false
|
188
|
+
end
|
187
189
|
```
|
188
190
|
|
189
191
|
Then, we can send in this additional attribute in a lambda
|
@@ -196,7 +198,10 @@ Then, we can send in this additional attribute in a lambda
|
|
196
198
|
```
|
197
199
|
|
198
200
|
This allows much faster searches without joins later on by doing something like:
|
199
|
-
|
201
|
+
|
202
|
+
```ruby
|
203
|
+
PgSearch.multisearch(params['search']).where(author_id: 2)
|
204
|
+
```
|
200
205
|
|
201
206
|
*NOTE: You must currently manually call `record.update_pg_search_document` for the additional attribute to be included in the pg_search_documents table*
|
202
207
|
|
@@ -718,7 +723,7 @@ class Person < ActiveRecord::Base
|
|
718
723
|
pg_search_scope :search,
|
719
724
|
against: :name,
|
720
725
|
using: {
|
721
|
-
tsearch: {any_word: true}
|
726
|
+
tsearch: {any_word: true},
|
722
727
|
dmetaphone: {any_word: true, sort_only: true}
|
723
728
|
}
|
724
729
|
end
|
@@ -1143,15 +1148,11 @@ Patterson](http://tenderlovemaking.com/) for the original version and to Caseboo
|
|
1143
1148
|
|
1144
1149
|
## CONTRIBUTIONS AND FEEDBACK
|
1145
1150
|
|
1146
|
-
|
1147
|
-
project](https://www.pivotaltracker.com/projects/228645) where we manage new
|
1148
|
-
feature ideas and bugs.
|
1151
|
+
Please read our [CONTRIBUTING guide](https://github.com/Casecommons/pg_search/blob/master/CONTRIBUTING.md).
|
1149
1152
|
|
1150
1153
|
We also have a [Google Group](http://groups.google.com/group/casecommons-dev)
|
1151
1154
|
for discussing pg_search and other Casebook PBC open source projects.
|
1152
1155
|
|
1153
|
-
Please read our [CONTRIBUTING guide](https://github.com/Casecommons/pg_search/blob/master/CONTRIBUTING.md).
|
1154
|
-
|
1155
1156
|
## LICENSE
|
1156
1157
|
|
1157
1158
|
Copyright © 2010–2019 [Casebook PBC](http://www.casebook.net).
|
data/lib/pg_search.rb
CHANGED
data/lib/pg_search/tasks.rb
CHANGED
@@ -12,6 +12,7 @@ namespace :pg_search do
|
|
12
12
|
You must pass a model as an argument.
|
13
13
|
Example: rake pg_search:multisearch:rebuild[BlogPost]
|
14
14
|
MESSAGE
|
15
|
+
|
15
16
|
model_class = args.model.classify.constantize
|
16
17
|
connection = PgSearch::Document.connection
|
17
18
|
original_schema_search_path = connection.schema_search_path
|
data/lib/pg_search/version.rb
CHANGED
data/pg_search.gemspec
CHANGED
@@ -18,13 +18,13 @@ Gem::Specification.new do |s|
|
|
18
18
|
s.test_files = `git ls-files -- spec/*`.split("\n")
|
19
19
|
s.require_paths = ['lib']
|
20
20
|
|
21
|
-
s.add_dependency 'activerecord', '>=
|
22
|
-
s.add_dependency 'activesupport', '>=
|
21
|
+
s.add_dependency 'activerecord', '>= 5.2'
|
22
|
+
s.add_dependency 'activesupport', '>= 5.2'
|
23
23
|
|
24
24
|
s.add_development_dependency 'pry'
|
25
25
|
s.add_development_dependency 'rake'
|
26
26
|
s.add_development_dependency 'rspec', '>= 3.3'
|
27
|
-
s.add_development_dependency 'rubocop', '>= 0.
|
27
|
+
s.add_development_dependency 'rubocop', '>= 0.78.0'
|
28
28
|
s.add_development_dependency 'rubocop-performance'
|
29
29
|
s.add_development_dependency 'simplecov'
|
30
30
|
s.add_development_dependency 'with_model', '>= 1.2'
|
data/spec/.rubocop.yml
CHANGED
@@ -2,11 +2,6 @@
|
|
2
2
|
|
3
3
|
require "spec_helper"
|
4
4
|
|
5
|
-
def has_microsecond_precision?
|
6
|
-
(ActiveRecord::VERSION::MAJOR == 4 && ActiveRecord::VERSION::MINOR >= 1) ||
|
7
|
-
(ActiveRecord::VERSION::MAJOR == 4 && ActiveRecord::VERSION::MINOR == 0 && ActiveRecord::VERSION::TINY >= 1)
|
8
|
-
end
|
9
|
-
|
10
5
|
describe PgSearch::Multisearch::Rebuilder do
|
11
6
|
with_table "pg_search_documents", {}, &DOCUMENTS_SCHEMA
|
12
7
|
|
@@ -105,10 +100,6 @@ describe PgSearch::Multisearch::Rebuilder do
|
|
105
100
|
time = Time.utc(2001, 1, 1, 0, 0, 0)
|
106
101
|
rebuilder = PgSearch::Multisearch::Rebuilder.new(Model, -> { time })
|
107
102
|
|
108
|
-
# Handle change in precision of Time objects in SQL in Active Record 4.0.1
|
109
|
-
# https://github.com/rails/rails/commit/17f5d8e062909f1fcae25351834d8e89967b645e
|
110
|
-
expected_timestamp = has_microsecond_precision? ? "2001-01-01 00:00:00.000000" : "2001-01-01 00:00:00"
|
111
|
-
|
112
103
|
expected_sql = <<-SQL.strip_heredoc
|
113
104
|
INSERT INTO "pg_search_documents" (searchable_type, searchable_id, content, created_at, updated_at)
|
114
105
|
SELECT 'Model' AS searchable_type,
|
@@ -116,8 +107,8 @@ describe PgSearch::Multisearch::Rebuilder do
|
|
116
107
|
(
|
117
108
|
coalesce(#{Model.quoted_table_name}."name"::text, '')
|
118
109
|
) AS content,
|
119
|
-
'
|
120
|
-
'
|
110
|
+
'2001-01-01 00:00:00' AS created_at,
|
111
|
+
'2001-01-01 00:00:00' AS updated_at
|
121
112
|
FROM #{Model.quoted_table_name}
|
122
113
|
SQL
|
123
114
|
|
@@ -169,10 +160,6 @@ describe PgSearch::Multisearch::Rebuilder do
|
|
169
160
|
time = Time.utc(2001, 1, 1, 0, 0, 0)
|
170
161
|
rebuilder = PgSearch::Multisearch::Rebuilder.new(ModelWithNonStandardPrimaryKey, -> { time })
|
171
162
|
|
172
|
-
# Handle change in precision of Time objects in SQL in Active Record 4.0.1
|
173
|
-
# https://github.com/rails/rails/commit/17f5d8e062909f1fcae25351834d8e89967b645e
|
174
|
-
expected_timestamp = has_microsecond_precision? ? "2001-01-01 00:00:00.000000" : "2001-01-01 00:00:00"
|
175
|
-
|
176
163
|
expected_sql = <<-SQL.strip_heredoc
|
177
164
|
INSERT INTO "pg_search_documents" (searchable_type, searchable_id, content, created_at, updated_at)
|
178
165
|
SELECT 'ModelWithNonStandardPrimaryKey' AS searchable_type,
|
@@ -180,8 +167,8 @@ describe PgSearch::Multisearch::Rebuilder do
|
|
180
167
|
(
|
181
168
|
coalesce(#{ModelWithNonStandardPrimaryKey.quoted_table_name}."name"::text, '')
|
182
169
|
) AS content,
|
183
|
-
'
|
184
|
-
'
|
170
|
+
'2001-01-01 00:00:00' AS created_at,
|
171
|
+
'2001-01-01 00:00:00' AS updated_at
|
185
172
|
FROM #{ModelWithNonStandardPrimaryKey.quoted_table_name}
|
186
173
|
SQL
|
187
174
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pg_search
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.3.
|
4
|
+
version: 2.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Grant Hutchins
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2019-
|
12
|
+
date: 2019-12-22 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activerecord
|
@@ -17,28 +17,28 @@ dependencies:
|
|
17
17
|
requirements:
|
18
18
|
- - ">="
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version: '
|
20
|
+
version: '5.2'
|
21
21
|
type: :runtime
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
25
|
- - ">="
|
26
26
|
- !ruby/object:Gem::Version
|
27
|
-
version: '
|
27
|
+
version: '5.2'
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: activesupport
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
31
31
|
requirements:
|
32
32
|
- - ">="
|
33
33
|
- !ruby/object:Gem::Version
|
34
|
-
version: '
|
34
|
+
version: '5.2'
|
35
35
|
type: :runtime
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
39
|
- - ">="
|
40
40
|
- !ruby/object:Gem::Version
|
41
|
-
version: '
|
41
|
+
version: '5.2'
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
43
|
name: pry
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
@@ -87,14 +87,14 @@ dependencies:
|
|
87
87
|
requirements:
|
88
88
|
- - ">="
|
89
89
|
- !ruby/object:Gem::Version
|
90
|
-
version: 0.
|
90
|
+
version: 0.78.0
|
91
91
|
type: :development
|
92
92
|
prerelease: false
|
93
93
|
version_requirements: !ruby/object:Gem::Requirement
|
94
94
|
requirements:
|
95
95
|
- - ">="
|
96
96
|
- !ruby/object:Gem::Version
|
97
|
-
version: 0.
|
97
|
+
version: 0.78.0
|
98
98
|
- !ruby/object:Gem::Dependency
|
99
99
|
name: rubocop-performance
|
100
100
|
requirement: !ruby/object:Gem::Requirement
|