pg_search 2.1.2 → 2.3.6

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.
Files changed (66) hide show
  1. checksums.yaml +5 -5
  2. data/.codeclimate.yml +1 -0
  3. data/.editorconfig +10 -0
  4. data/.github/dependabot.yml +11 -0
  5. data/.github/workflows/ci.yml +75 -0
  6. data/.jrubyrc +1 -0
  7. data/.rubocop.yml +95 -10
  8. data/.travis.yml +26 -48
  9. data/CHANGELOG.md +179 -112
  10. data/CODE_OF_CONDUCT.md +76 -0
  11. data/CONTRIBUTING.md +5 -3
  12. data/Gemfile +6 -4
  13. data/LICENSE +1 -1
  14. data/README.md +307 -198
  15. data/Rakefile +7 -3
  16. data/lib/pg_search/configuration/association.rb +2 -0
  17. data/lib/pg_search/configuration/column.rb +2 -0
  18. data/lib/pg_search/configuration/foreign_column.rb +2 -0
  19. data/lib/pg_search/configuration.rb +20 -6
  20. data/lib/pg_search/document.rb +7 -5
  21. data/lib/pg_search/features/dmetaphone.rb +7 -7
  22. data/lib/pg_search/features/feature.rb +4 -2
  23. data/lib/pg_search/features/trigram.rb +31 -5
  24. data/lib/pg_search/features/tsearch.rb +18 -14
  25. data/lib/pg_search/features.rb +2 -0
  26. data/lib/pg_search/migration/dmetaphone_generator.rb +3 -1
  27. data/lib/pg_search/migration/generator.rb +4 -2
  28. data/lib/pg_search/migration/multisearch_generator.rb +2 -1
  29. data/lib/pg_search/migration/templates/add_pg_search_dmetaphone_support_functions.rb.erb +6 -6
  30. data/lib/pg_search/migration/templates/create_pg_search_documents.rb.erb +3 -3
  31. data/lib/pg_search/model.rb +57 -0
  32. data/lib/pg_search/multisearch/rebuilder.rb +14 -6
  33. data/lib/pg_search/multisearch.rb +23 -6
  34. data/lib/pg_search/multisearchable.rb +10 -6
  35. data/lib/pg_search/normalizer.rb +2 -0
  36. data/lib/pg_search/railtie.rb +2 -0
  37. data/lib/pg_search/scope_options.rb +26 -49
  38. data/lib/pg_search/tasks.rb +5 -1
  39. data/lib/pg_search/version.rb +3 -1
  40. data/lib/pg_search.rb +17 -55
  41. data/pg_search.gemspec +19 -11
  42. data/spec/.rubocop.yml +2 -2
  43. data/spec/integration/.rubocop.yml +11 -0
  44. data/spec/integration/associations_spec.rb +125 -162
  45. data/spec/integration/deprecation_spec.rb +33 -0
  46. data/spec/integration/pagination_spec.rb +10 -8
  47. data/spec/integration/pg_search_spec.rb +359 -306
  48. data/spec/integration/single_table_inheritance_spec.rb +18 -17
  49. data/spec/lib/pg_search/configuration/association_spec.rb +17 -13
  50. data/spec/lib/pg_search/configuration/column_spec.rb +2 -0
  51. data/spec/lib/pg_search/configuration/foreign_column_spec.rb +6 -4
  52. data/spec/lib/pg_search/features/dmetaphone_spec.rb +6 -4
  53. data/spec/lib/pg_search/features/trigram_spec.rb +51 -20
  54. data/spec/lib/pg_search/features/tsearch_spec.rb +29 -21
  55. data/spec/lib/pg_search/multisearch/rebuilder_spec.rb +151 -85
  56. data/spec/lib/pg_search/multisearch_spec.rb +67 -37
  57. data/spec/lib/pg_search/multisearchable_spec.rb +217 -123
  58. data/spec/lib/pg_search/normalizer_spec.rb +14 -10
  59. data/spec/lib/pg_search_spec.rb +102 -89
  60. data/spec/spec_helper.rb +25 -6
  61. data/spec/support/database.rb +19 -21
  62. data/spec/support/with_model.rb +2 -0
  63. metadata +106 -29
  64. data/.autotest +0 -5
  65. data/.rubocop_todo.yml +0 -163
  66. data/Guardfile +0 -6
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pg_search
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.2
4
+ version: 2.3.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Grant Hutchins
8
8
  - Case Commons, LLC
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2017-12-25 00:00:00.000000000 Z
12
+ date: 2022-01-07 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activerecord
@@ -17,44 +17,44 @@ dependencies:
17
17
  requirements:
18
18
  - - ">="
19
19
  - !ruby/object:Gem::Version
20
- version: '4.2'
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: '4.2'
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: '4.2'
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: '4.2'
41
+ version: '5.2'
42
42
  - !ruby/object:Gem::Dependency
43
- name: arel
43
+ name: pry
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
46
  - - ">="
47
47
  - !ruby/object:Gem::Version
48
- version: '6'
49
- type: :runtime
48
+ version: '0'
49
+ type: :development
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
53
  - - ">="
54
54
  - !ruby/object:Gem::Version
55
- version: '6'
55
+ version: '0'
56
56
  - !ruby/object:Gem::Dependency
57
- name: codeclimate-test-reporter
57
+ name: rake
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
60
  - - ">="
@@ -68,7 +68,7 @@ dependencies:
68
68
  - !ruby/object:Gem::Version
69
69
  version: '0'
70
70
  - !ruby/object:Gem::Dependency
71
- name: pry
71
+ name: rspec
72
72
  requirement: !ruby/object:Gem::Requirement
73
73
  requirements:
74
74
  - - ">="
@@ -82,7 +82,7 @@ dependencies:
82
82
  - !ruby/object:Gem::Version
83
83
  version: '0'
84
84
  - !ruby/object:Gem::Dependency
85
- name: rake
85
+ name: rubocop
86
86
  requirement: !ruby/object:Gem::Requirement
87
87
  requirements:
88
88
  - - ">="
@@ -96,21 +96,49 @@ dependencies:
96
96
  - !ruby/object:Gem::Version
97
97
  version: '0'
98
98
  - !ruby/object:Gem::Dependency
99
- name: rspec
99
+ name: rubocop-performance
100
100
  requirement: !ruby/object:Gem::Requirement
101
101
  requirements:
102
102
  - - ">="
103
103
  - !ruby/object:Gem::Version
104
- version: '3.3'
104
+ version: '0'
105
105
  type: :development
106
106
  prerelease: false
107
107
  version_requirements: !ruby/object:Gem::Requirement
108
108
  requirements:
109
109
  - - ">="
110
110
  - !ruby/object:Gem::Version
111
- version: '3.3'
111
+ version: '0'
112
112
  - !ruby/object:Gem::Dependency
113
- name: rubocop
113
+ name: rubocop-rails
114
+ requirement: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - ">="
117
+ - !ruby/object:Gem::Version
118
+ version: '0'
119
+ type: :development
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - ">="
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ - !ruby/object:Gem::Dependency
127
+ name: rubocop-rake
128
+ requirement: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - ">="
131
+ - !ruby/object:Gem::Version
132
+ version: '0'
133
+ type: :development
134
+ prerelease: false
135
+ version_requirements: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - ">="
138
+ - !ruby/object:Gem::Version
139
+ version: '0'
140
+ - !ruby/object:Gem::Dependency
141
+ name: rubocop-rspec
114
142
  requirement: !ruby/object:Gem::Requirement
115
143
  requirements:
116
144
  - - ">="
@@ -137,20 +165,62 @@ dependencies:
137
165
  - - ">="
138
166
  - !ruby/object:Gem::Version
139
167
  version: '0'
168
+ - !ruby/object:Gem::Dependency
169
+ name: simplecov-lcov
170
+ requirement: !ruby/object:Gem::Requirement
171
+ requirements:
172
+ - - ">="
173
+ - !ruby/object:Gem::Version
174
+ version: '0'
175
+ type: :development
176
+ prerelease: false
177
+ version_requirements: !ruby/object:Gem::Requirement
178
+ requirements:
179
+ - - ">="
180
+ - !ruby/object:Gem::Version
181
+ version: '0'
182
+ - !ruby/object:Gem::Dependency
183
+ name: undercover
184
+ requirement: !ruby/object:Gem::Requirement
185
+ requirements:
186
+ - - ">="
187
+ - !ruby/object:Gem::Version
188
+ version: '0'
189
+ type: :development
190
+ prerelease: false
191
+ version_requirements: !ruby/object:Gem::Requirement
192
+ requirements:
193
+ - - ">="
194
+ - !ruby/object:Gem::Version
195
+ version: '0'
196
+ - !ruby/object:Gem::Dependency
197
+ name: warning
198
+ requirement: !ruby/object:Gem::Requirement
199
+ requirements:
200
+ - - ">="
201
+ - !ruby/object:Gem::Version
202
+ version: '0'
203
+ type: :development
204
+ prerelease: false
205
+ version_requirements: !ruby/object:Gem::Requirement
206
+ requirements:
207
+ - - ">="
208
+ - !ruby/object:Gem::Version
209
+ version: '0'
140
210
  - !ruby/object:Gem::Dependency
141
211
  name: with_model
142
212
  requirement: !ruby/object:Gem::Requirement
143
213
  requirements:
144
214
  - - ">="
145
215
  - !ruby/object:Gem::Version
146
- version: '1.2'
216
+ version: '0'
147
217
  type: :development
148
218
  prerelease: false
149
219
  version_requirements: !ruby/object:Gem::Requirement
150
220
  requirements:
151
221
  - - ">="
152
222
  - !ruby/object:Gem::Version
153
- version: '1.2'
223
+ version: '0'
154
224
  description: PgSearch builds Active Record named scopes that take advantage of PostgreSQL's
155
225
  full text search
156
226
  email:
@@ -160,18 +230,20 @@ executables: []
160
230
  extensions: []
161
231
  extra_rdoc_files: []
162
232
  files:
163
- - ".autotest"
164
233
  - ".bundle/config"
165
234
  - ".codeclimate.yml"
235
+ - ".editorconfig"
236
+ - ".github/dependabot.yml"
237
+ - ".github/workflows/ci.yml"
166
238
  - ".gitignore"
239
+ - ".jrubyrc"
167
240
  - ".rspec"
168
241
  - ".rubocop.yml"
169
- - ".rubocop_todo.yml"
170
242
  - ".travis.yml"
171
243
  - CHANGELOG.md
244
+ - CODE_OF_CONDUCT.md
172
245
  - CONTRIBUTING.md
173
246
  - Gemfile
174
- - Guardfile
175
247
  - LICENSE
176
248
  - README.md
177
249
  - Rakefile
@@ -191,6 +263,7 @@ files:
191
263
  - lib/pg_search/migration/multisearch_generator.rb
192
264
  - lib/pg_search/migration/templates/add_pg_search_dmetaphone_support_functions.rb.erb
193
265
  - lib/pg_search/migration/templates/create_pg_search_documents.rb.erb
266
+ - lib/pg_search/model.rb
194
267
  - lib/pg_search/multisearch.rb
195
268
  - lib/pg_search/multisearch/rebuilder.rb
196
269
  - lib/pg_search/multisearchable.rb
@@ -201,7 +274,9 @@ files:
201
274
  - lib/pg_search/version.rb
202
275
  - pg_search.gemspec
203
276
  - spec/.rubocop.yml
277
+ - spec/integration/.rubocop.yml
204
278
  - spec/integration/associations_spec.rb
279
+ - spec/integration/deprecation_spec.rb
205
280
  - spec/integration/pagination_spec.rb
206
281
  - spec/integration/pg_search_spec.rb
207
282
  - spec/integration/single_table_inheritance_spec.rb
@@ -224,8 +299,9 @@ files:
224
299
  homepage: https://github.com/Casecommons/pg_search
225
300
  licenses:
226
301
  - MIT
227
- metadata: {}
228
- post_install_message:
302
+ metadata:
303
+ rubygems_mfa_required: 'true'
304
+ post_install_message:
229
305
  rdoc_options: []
230
306
  require_paths:
231
307
  - lib
@@ -233,21 +309,22 @@ required_ruby_version: !ruby/object:Gem::Requirement
233
309
  requirements:
234
310
  - - ">="
235
311
  - !ruby/object:Gem::Version
236
- version: '2.1'
312
+ version: '2.6'
237
313
  required_rubygems_version: !ruby/object:Gem::Requirement
238
314
  requirements:
239
315
  - - ">="
240
316
  - !ruby/object:Gem::Version
241
317
  version: '0'
242
318
  requirements: []
243
- rubyforge_project:
244
- rubygems_version: 2.6.13
245
- signing_key:
319
+ rubygems_version: 3.3.3
320
+ signing_key:
246
321
  specification_version: 4
247
322
  summary: PgSearch builds Active Record named scopes that take advantage of PostgreSQL's
248
323
  full text search
249
324
  test_files:
325
+ - spec/integration/.rubocop.yml
250
326
  - spec/integration/associations_spec.rb
327
+ - spec/integration/deprecation_spec.rb
251
328
  - spec/integration/pagination_spec.rb
252
329
  - spec/integration/pg_search_spec.rb
253
330
  - spec/integration/single_table_inheritance_spec.rb
data/.autotest DELETED
@@ -1,5 +0,0 @@
1
- Autotest.add_hook :initialize do |at|
2
- at.add_mapping(%r%^lib/.*\.rb$%, true) { |filename, _|
3
- at.files_matching %r%^spec/.*_spec.rb$%
4
- }
5
- end
data/.rubocop_todo.yml DELETED
@@ -1,163 +0,0 @@
1
- # This configuration was generated by
2
- # `rubocop --auto-gen-config`
3
- # on 2017-07-21 13:18:24 -0500 using RuboCop version 0.49.1.
4
- # The point is for the user to remove these configuration records
5
- # one by one as the offenses are removed from the code base.
6
- # Note that changes in the inspected code, or installation of new
7
- # versions of RuboCop, may require this file to be generated again.
8
-
9
- # Offense count: 26
10
- # Cop supports --auto-correct.
11
- # Configuration parameters: SupportedStyles, IndentationWidth.
12
- # SupportedStyles: special_inside_parentheses, consistent, align_brackets
13
- Layout/IndentArray:
14
- EnforcedStyle: consistent
15
-
16
- # Offense count: 3
17
- # Cop supports --auto-correct.
18
- # Configuration parameters: EnforcedStyle, SupportedStyles, IndentationWidth.
19
- # SupportedStyles: aligned, indented, indented_relative_to_receiver
20
- Layout/MultilineMethodCallIndentation:
21
- Exclude:
22
- - 'spec/integration/pg_search_spec.rb'
23
-
24
- # Offense count: 1
25
- # Cop supports --auto-correct.
26
- Layout/SpaceAfterComma:
27
- Exclude:
28
- - 'lib/pg_search/configuration.rb'
29
-
30
- # Offense count: 1
31
- # Cop supports --auto-correct.
32
- # Configuration parameters: EnforcedStyle, SupportedStyles.
33
- # SupportedStyles: space, no_space
34
- Layout/SpaceAroundEqualsInParameterDefault:
35
- Exclude:
36
- - 'lib/pg_search/multisearch.rb'
37
-
38
- # Offense count: 3
39
- # Cop supports --auto-correct.
40
- # Configuration parameters: EnforcedStyle, SupportedStyles.
41
- # SupportedStyles: space, no_space
42
- Layout/SpaceBeforeBlockBraces:
43
- Exclude:
44
- - 'lib/pg_search/features/tsearch.rb'
45
- - 'spec/integration/pg_search_spec.rb'
46
-
47
- # Offense count: 4
48
- # Cop supports --auto-correct.
49
- # Configuration parameters: EnforcedStyle, SupportedStyles, EnforcedStyleForEmptyBraces, SupportedStylesForEmptyBraces, SpaceBeforeBlockParameters.
50
- # SupportedStyles: space, no_space
51
- # SupportedStylesForEmptyBraces: space, no_space
52
- Layout/SpaceInsideBlockBraces:
53
- Exclude:
54
- - 'lib/pg_search/features/tsearch.rb'
55
- - 'spec/integration/pg_search_spec.rb'
56
- - 'spec/lib/pg_search_spec.rb'
57
-
58
- # Offense count: 86
59
- # Cop supports --auto-correct.
60
- # Configuration parameters: EnforcedStyle, SupportedStyles, EnforcedStyleForEmptyBraces, SupportedStylesForEmptyBraces.
61
- # SupportedStyles: space, no_space, compact
62
- # SupportedStylesForEmptyBraces: space, no_space
63
- Layout/SpaceInsideHashLiteralBraces:
64
- Exclude:
65
- - 'lib/pg_search.rb'
66
- - 'lib/pg_search/configuration.rb'
67
- - 'lib/pg_search/document.rb'
68
- - 'spec/integration/associations_spec.rb'
69
- - 'spec/integration/pg_search_spec.rb'
70
- - 'spec/lib/pg_search/configuration/association_spec.rb'
71
- - 'spec/lib/pg_search/configuration/foreign_column_spec.rb'
72
- - 'spec/lib/pg_search/features/tsearch_spec.rb'
73
- - 'spec/lib/pg_search/multisearchable_spec.rb'
74
- - 'spec/lib/pg_search_spec.rb'
75
-
76
- # Offense count: 4
77
- # Cop supports --auto-correct.
78
- # Configuration parameters: EnforcedStyle, SupportedStyles.
79
- # SupportedStyles: final_newline, final_blank_line
80
- Layout/TrailingBlankLines:
81
- Exclude:
82
- - 'Guardfile'
83
- - 'lib/pg_search/migration/multisearch_generator.rb'
84
- - 'lib/pg_search/multisearch.rb'
85
- - 'spec/integration/single_table_inheritance_spec.rb'
86
-
87
- # Offense count: 1
88
- # Cop supports --auto-correct.
89
- Performance/Casecmp:
90
- Exclude:
91
- - 'spec/support/database.rb'
92
-
93
- # Offense count: 27
94
- Style/Documentation:
95
- Enabled: false
96
-
97
- # Offense count: 1
98
- Style/IfInsideElse:
99
- Exclude:
100
- - 'lib/pg_search/multisearchable.rb'
101
-
102
- # Offense count: 2
103
- # Cop supports --auto-correct.
104
- Style/MutableConstant:
105
- Exclude:
106
- - 'lib/pg_search/configuration.rb'
107
- - 'lib/pg_search/scope_options.rb'
108
-
109
- # Offense count: 1
110
- # Cop supports --auto-correct.
111
- Style/PerlBackrefs:
112
- Exclude:
113
- - 'lib/pg_search/scope_options.rb'
114
-
115
- # Offense count: 5
116
- # Cop supports --auto-correct.
117
- # Configuration parameters: EnforcedStyle, SupportedStyles.
118
- # SupportedStyles: compact, exploded
119
- Style/RaiseArgs:
120
- Exclude:
121
- - 'lib/pg_search.rb'
122
- - 'lib/pg_search/multisearch/rebuilder.rb'
123
- - 'lib/pg_search/scope_options.rb'
124
-
125
- # Offense count: 1
126
- # Cop supports --auto-correct.
127
- # Configuration parameters: AllowMultipleReturnValues.
128
- Style/RedundantReturn:
129
- Exclude:
130
- - 'lib/pg_search/scope_options.rb'
131
-
132
- # Offense count: 2
133
- # Cop supports --auto-correct.
134
- # Configuration parameters: IgnoredMethods.
135
- # IgnoredMethods: respond_to, define_method
136
- Style/SymbolProc:
137
- Exclude:
138
- - 'lib/pg_search/features/feature.rb'
139
- - 'lib/pg_search/multisearch/rebuilder.rb'
140
-
141
- # Offense count: 10
142
- # Cop supports --auto-correct.
143
- # Configuration parameters: EnforcedStyleForMultiline, SupportedStylesForMultiline.
144
- # SupportedStylesForMultiline: comma, consistent_comma, no_comma
145
- Style/TrailingCommaInLiteral:
146
- Exclude:
147
- - 'spec/integration/pg_search_spec.rb'
148
- - 'spec/lib/pg_search/features/dmetaphone_spec.rb'
149
- - 'spec/lib/pg_search/features/tsearch_spec.rb'
150
-
151
- # Offense count: 2
152
- # Cop supports --auto-correct.
153
- Style/UnneededPercentQ:
154
- Exclude:
155
- - 'pg_search.gemspec'
156
-
157
- # Offense count: 3
158
- # Cop supports --auto-correct.
159
- # Configuration parameters: SupportedStyles, WordRegex.
160
- # SupportedStyles: percent, brackets
161
- Style/WordArray:
162
- EnforcedStyle: percent
163
- MinSize: 3
data/Guardfile DELETED
@@ -1,6 +0,0 @@
1
- guard 'rspec', cmd: "bin/rspec" do
2
- watch(%r{^spec/.+_spec\.rb$})
3
- watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
4
- watch('spec/spec_helper.rb') { "spec" }
5
- end
6
-