pg_search 2.2.0 → 2.3.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.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/.codeclimate.yml +1 -0
  3. data/.editorconfig +10 -0
  4. data/.github/dependabot.yml +11 -0
  5. data/.rubocop.yml +88 -7
  6. data/.travis.yml +11 -19
  7. data/CHANGELOG.md +40 -15
  8. data/Gemfile +1 -1
  9. data/LICENSE +1 -1
  10. data/README.md +46 -45
  11. data/lib/pg_search.rb +13 -56
  12. data/lib/pg_search/document.rb +2 -2
  13. data/lib/pg_search/features/dmetaphone.rb +4 -6
  14. data/lib/pg_search/features/tsearch.rb +13 -12
  15. data/lib/pg_search/migration/templates/add_pg_search_dmetaphone_support_functions.rb.erb +6 -6
  16. data/lib/pg_search/migration/templates/create_pg_search_documents.rb.erb +2 -2
  17. data/lib/pg_search/model.rb +57 -0
  18. data/lib/pg_search/multisearch.rb +10 -1
  19. data/lib/pg_search/multisearch/rebuilder.rb +7 -3
  20. data/lib/pg_search/scope_options.rb +2 -2
  21. data/lib/pg_search/tasks.rb +2 -1
  22. data/lib/pg_search/version.rb +1 -1
  23. data/pg_search.gemspec +9 -5
  24. data/spec/.rubocop.yml +2 -2
  25. data/spec/integration/.rubocop.yml +11 -0
  26. data/spec/integration/associations_spec.rb +27 -66
  27. data/spec/integration/deprecation_spec.rb +33 -0
  28. data/spec/integration/pagination_spec.rb +1 -1
  29. data/spec/integration/pg_search_spec.rb +70 -59
  30. data/spec/integration/single_table_inheritance_spec.rb +2 -2
  31. data/spec/lib/pg_search/configuration/association_spec.rb +10 -8
  32. data/spec/lib/pg_search/configuration/foreign_column_spec.rb +1 -1
  33. data/spec/lib/pg_search/features/dmetaphone_spec.rb +2 -2
  34. data/spec/lib/pg_search/features/trigram_spec.rb +15 -11
  35. data/spec/lib/pg_search/features/tsearch_spec.rb +16 -10
  36. data/spec/lib/pg_search/multisearch/rebuilder_spec.rb +124 -76
  37. data/spec/lib/pg_search/multisearch_spec.rb +49 -30
  38. data/spec/lib/pg_search/multisearchable_spec.rb +155 -101
  39. data/spec/lib/pg_search/normalizer_spec.rb +12 -10
  40. data/spec/lib/pg_search_spec.rb +59 -46
  41. data/spec/spec_helper.rb +13 -4
  42. data/spec/support/database.rb +1 -1
  43. metadata +76 -13
@@ -2,15 +2,16 @@
2
2
 
3
3
  require "spec_helper"
4
4
 
5
+ # rubocop:disable RSpec/NestedGroups
5
6
  describe PgSearch::Normalizer do
6
7
  describe "#add_normalization" do
7
8
  context "when config[:ignore] includes :accents" do
8
9
  context "when passed an Arel node" do
9
10
  it "wraps the expression in unaccent()" do
10
- config = double("config", ignore: [:accents])
11
+ config = instance_double("PgSearch::Configuration", "config", ignore: [:accents])
11
12
  node = Arel::Nodes::NamedFunction.new("foo", [Arel::Nodes.build_quoted("bar")])
12
13
 
13
- normalizer = PgSearch::Normalizer.new(config)
14
+ normalizer = described_class.new(config)
14
15
  expect(normalizer.add_normalization(node)).to eq("unaccent(foo('bar'))")
15
16
  end
16
17
 
@@ -19,9 +20,9 @@ describe PgSearch::Normalizer do
19
20
  allow(PgSearch).to receive(:unaccent_function).and_return("my_unaccent")
20
21
  node = Arel::Nodes::NamedFunction.new("foo", [Arel::Nodes.build_quoted("bar")])
21
22
 
22
- config = double("config", ignore: [:accents])
23
+ config = instance_double("PgSearch::Configuration", "config", ignore: [:accents])
23
24
 
24
- normalizer = PgSearch::Normalizer.new(config)
25
+ normalizer = described_class.new(config)
25
26
  expect(normalizer.add_normalization(node)).to eq("my_unaccent(foo('bar'))")
26
27
  end
27
28
  end
@@ -29,9 +30,9 @@ describe PgSearch::Normalizer do
29
30
 
30
31
  context "when passed a String" do
31
32
  it "wraps the expression in unaccent()" do
32
- config = double("config", ignore: [:accents])
33
+ config = instance_double("PgSearch::Configuration", "config", ignore: [:accents])
33
34
 
34
- normalizer = PgSearch::Normalizer.new(config)
35
+ normalizer = described_class.new(config)
35
36
  expect(normalizer.add_normalization("foo")).to eq("unaccent(foo)")
36
37
  end
37
38
 
@@ -39,9 +40,9 @@ describe PgSearch::Normalizer do
39
40
  it "wraps the expression in that function" do
40
41
  allow(PgSearch).to receive(:unaccent_function).and_return("my_unaccent")
41
42
 
42
- config = double("config", ignore: [:accents])
43
+ config = instance_double("PgSearch::Configuration", "config", ignore: [:accents])
43
44
 
44
- normalizer = PgSearch::Normalizer.new(config)
45
+ normalizer = described_class.new(config)
45
46
  expect(normalizer.add_normalization("foo")).to eq("my_unaccent(foo)")
46
47
  end
47
48
  end
@@ -50,11 +51,12 @@ describe PgSearch::Normalizer do
50
51
 
51
52
  context "when config[:ignore] does not include :accents" do
52
53
  it "passes the expression through" do
53
- config = double("config", ignore: [])
54
+ config = instance_double("PgSearch::Configuration", "config", ignore: [])
54
55
 
55
- normalizer = PgSearch::Normalizer.new(config)
56
+ normalizer = described_class.new(config)
56
57
  expect(normalizer.add_normalization("foo")).to eq("foo")
57
58
  end
58
59
  end
59
60
  end
60
61
  end
62
+ # rubocop:enable RSpec/NestedGroups
@@ -15,52 +15,56 @@ class << PgSearch::Document
15
15
  end
16
16
  end
17
17
 
18
+ # rubocop:disable RSpec/NestedGroups
18
19
  describe PgSearch do
19
20
  describe ".multisearch" do
20
- with_table "pg_search_documents", {}, &DOCUMENTS_SCHEMA
21
+ with_table "pg_search_documents", &DOCUMENTS_SCHEMA
21
22
 
22
23
  describe "delegation to PgSearch::Document.search" do
23
- subject { PgSearch.multisearch(query) }
24
+ subject { described_class.multisearch(query) }
25
+
26
+ let(:query) { instance_double("String", "query") }
27
+ let(:relation) { instance_double("ActiveRecord::Relation", "relation") }
24
28
 
25
- let(:query) { double(:query) }
26
- let(:relation) { double(:relation) }
27
29
  before do
28
- expect(PgSearch::Document).to receive(:search).with(query).and_return(relation)
30
+ allow(PgSearch::Document).to receive(:search).with(query).and_return(relation)
29
31
  end
30
32
 
31
33
  it { is_expected.to eq(relation) }
32
34
  end
33
35
 
34
36
  context "with PgSearch.multisearch_options set to a Hash" do
35
- before { allow(PgSearch).to receive(:multisearch_options).and_return(using: :dmetaphone) }
36
37
  subject do
37
38
  PgSearch::Document.clear_searchable_cache
38
- PgSearch.multisearch(query).map(&:searchable)
39
+ described_class.multisearch(query).map(&:searchable)
39
40
  end
40
41
 
42
+ before { allow(described_class).to receive(:multisearch_options).and_return(using: :dmetaphone) }
43
+
41
44
  with_model :MultisearchableModel do
42
45
  table do |t|
43
46
  t.string :title
44
47
  end
45
48
  model do
46
- include PgSearch
49
+ include PgSearch::Model
47
50
  multisearchable against: :title
48
51
  end
49
52
  end
50
53
 
51
54
  let!(:soundalike_record) { MultisearchableModel.create!(title: 'foning') }
52
55
  let(:query) { "Phoning" }
56
+
53
57
  it { is_expected.to include(soundalike_record) }
54
58
  end
55
59
 
56
60
  context "with PgSearch.multisearch_options set to a Proc" do
57
61
  subject do
58
62
  PgSearch::Document.clear_searchable_cache
59
- PgSearch.multisearch(query, soundalike).map(&:searchable)
63
+ described_class.multisearch(query, soundalike).map(&:searchable)
60
64
  end
61
65
 
62
66
  before do
63
- allow(PgSearch).to receive(:multisearch_options) do
67
+ allow(described_class).to receive(:multisearch_options) do
64
68
  lambda do |query, soundalike|
65
69
  if soundalike
66
70
  { using: :dmetaphone, query: query }
@@ -76,7 +80,7 @@ describe PgSearch do
76
80
  t.string :title
77
81
  end
78
82
  model do
79
- include PgSearch
83
+ include PgSearch::Model
80
84
  multisearchable against: :title
81
85
  end
82
86
  end
@@ -86,16 +90,18 @@ describe PgSearch do
86
90
 
87
91
  context "with soundalike true" do
88
92
  let(:soundalike) { true }
93
+
89
94
  it { is_expected.to include(soundalike_record) }
90
95
  end
91
96
 
92
97
  context "with soundalike false" do
93
98
  let(:soundalike) { false }
99
+
94
100
  it { is_expected.not_to include(soundalike_record) }
95
101
  end
96
102
  end
97
103
 
98
- context "on an STI subclass" do
104
+ context "when on an STI subclass" do
99
105
  context "with standard type column" do
100
106
  with_model :SuperclassModel do
101
107
  table do |t|
@@ -106,7 +112,7 @@ describe PgSearch do
106
112
 
107
113
  before do
108
114
  searchable_subclass_model = Class.new(SuperclassModel) do
109
- include PgSearch
115
+ include PgSearch::Model
110
116
  multisearchable against: :content
111
117
  end
112
118
  stub_const("SearchableSubclassModel", searchable_subclass_model)
@@ -128,7 +134,7 @@ describe PgSearch do
128
134
 
129
135
  expect(PgSearch::Document.count).to be 2
130
136
 
131
- results = PgSearch.multisearch("foo bar")
137
+ results = described_class.multisearch("foo bar")
132
138
 
133
139
  expect(results).to eq [included.pg_search_document]
134
140
  end
@@ -141,11 +147,12 @@ describe PgSearch do
141
147
  model = SearchableSubclassModel.find(model.id)
142
148
  model.content = "foo"
143
149
  model.save!
144
- results = PgSearch.multisearch("foo")
150
+ results = described_class.multisearch("foo")
145
151
  expect(results.size).to eq(SearchableSubclassModel.count)
146
152
  end
147
153
 
148
- it "reindexing works" do
154
+ # rubocop:disable RSpec/MultipleExpectations
155
+ specify "reindexing works" do
149
156
  NonSearchableSubclassModel.create!(content: "foo bar")
150
157
  NonSearchableSubclassModel.create!(content: "baz")
151
158
  expected = SearchableSubclassModel.create!(content: "baz")
@@ -166,6 +173,7 @@ describe PgSearch do
166
173
  expect(PgSearch::Document.first.searchable.class).to be SearchableSubclassModel
167
174
  expect(PgSearch::Document.first.searchable).to eq expected
168
175
  end
176
+ # rubocop:enable RSpec/MultipleExpectations
169
177
 
170
178
  it "reindexing searchable STI doesn't clobber other related STI models" do
171
179
  SearchableSubclassModel.create!(content: "baz")
@@ -196,7 +204,7 @@ describe PgSearch do
196
204
 
197
205
  before do
198
206
  searchable_subclass_model = Class.new(SuperclassModel) do
199
- include PgSearch
207
+ include PgSearch::Model
200
208
  multisearchable against: :content
201
209
  end
202
210
  stub_const("SearchableSubclassModel", searchable_subclass_model)
@@ -218,7 +226,7 @@ describe PgSearch do
218
226
 
219
227
  expect(PgSearch::Document.count).to be 2
220
228
 
221
- results = PgSearch.multisearch("foo bar")
229
+ results = described_class.multisearch("foo bar")
222
230
 
223
231
  expect(results).to eq [included.pg_search_document]
224
232
  end
@@ -227,57 +235,62 @@ describe PgSearch do
227
235
  end
228
236
 
229
237
  describe ".disable_multisearch" do
230
- it "should temporarily disable multisearch" do
231
- @multisearch_enabled_before = PgSearch.multisearch_enabled?
232
- PgSearch.disable_multisearch do
233
- @multisearch_enabled_inside = PgSearch.multisearch_enabled?
238
+ it "disables multisearch temporarily" do
239
+ multisearch_enabled_before = described_class.multisearch_enabled?
240
+ multisearch_enabled_inside = nil
241
+ described_class.disable_multisearch do
242
+ multisearch_enabled_inside = described_class.multisearch_enabled?
234
243
  end
235
- @multisearch_enabled_after = PgSearch.multisearch_enabled?
244
+ multisearch_enabled_after = described_class.multisearch_enabled?
236
245
 
237
- expect(@multisearch_enabled_before).to be(true)
238
- expect(@multisearch_enabled_inside).to be(false)
239
- expect(@multisearch_enabled_after).to be(true)
246
+ expect(multisearch_enabled_before).to be(true)
247
+ expect(multisearch_enabled_inside).to be(false)
248
+ expect(multisearch_enabled_after).to be(true)
240
249
  end
241
250
 
242
- it "should reenable multisearch after an error" do
243
- @multisearch_enabled_before = PgSearch.multisearch_enabled?
251
+ it "reenables multisearch after an error" do
252
+ multisearch_enabled_before = described_class.multisearch_enabled?
253
+ multisearch_enabled_inside = nil
244
254
  begin
245
- PgSearch.disable_multisearch do
246
- @multisearch_enabled_inside = PgSearch.multisearch_enabled?
255
+ described_class.disable_multisearch do
256
+ multisearch_enabled_inside = described_class.multisearch_enabled?
247
257
  raise
248
258
  end
249
259
  rescue StandardError
250
260
  end
261
+ multisearch_enabled_after = described_class.multisearch_enabled?
251
262
 
252
- @multisearch_enabled_after = PgSearch.multisearch_enabled?
253
-
254
- expect(@multisearch_enabled_before).to be(true)
255
- expect(@multisearch_enabled_inside).to be(false)
256
- expect(@multisearch_enabled_after).to be(true)
263
+ expect(multisearch_enabled_before).to be(true)
264
+ expect(multisearch_enabled_inside).to be(false)
265
+ expect(multisearch_enabled_after).to be(true)
257
266
  end
258
267
 
259
- it "should not disable multisearch on other threads" do
268
+ # rubocop:disable RSpec/ExampleLength
269
+ it "does not disable multisearch on other threads" do
260
270
  values = Queue.new
261
271
  sync = Queue.new
262
272
  Thread.new do
263
- values.push PgSearch.multisearch_enabled?
273
+ values.push described_class.multisearch_enabled?
264
274
  sync.pop # wait
265
- values.push PgSearch.multisearch_enabled?
275
+ values.push described_class.multisearch_enabled?
266
276
  sync.pop # wait
267
- values.push PgSearch.multisearch_enabled?
277
+ values.push described_class.multisearch_enabled?
268
278
  end
269
279
 
270
- @multisearch_enabled_before = values.pop
271
- PgSearch.disable_multisearch do
280
+ multisearch_enabled_before = values.pop
281
+ multisearch_enabled_inside = nil
282
+ described_class.disable_multisearch do
272
283
  sync.push :go
273
- @multisearch_enabled_inside = values.pop
284
+ multisearch_enabled_inside = values.pop
274
285
  end
275
286
  sync.push :go
276
- @multisearch_enabled_after = values.pop
287
+ multisearch_enabled_after = values.pop
277
288
 
278
- expect(@multisearch_enabled_before).to be(true)
279
- expect(@multisearch_enabled_inside).to be(true)
280
- expect(@multisearch_enabled_after).to be(true)
289
+ expect(multisearch_enabled_before).to be(true)
290
+ expect(multisearch_enabled_inside).to be(true)
291
+ expect(multisearch_enabled_after).to be(true)
281
292
  end
293
+ # rubocop:enable RSpec/ExampleLength
282
294
  end
283
295
  end
296
+ # rubocop:enable RSpec/NestedGroups
@@ -1,5 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'warning'
4
+ # Ignore Ruby 2.7 warnings from Active Record
5
+ Warning.ignore :keyword_separation
6
+
3
7
  require 'simplecov'
4
8
  SimpleCov.start
5
9
 
@@ -7,12 +11,14 @@ require "bundler/setup"
7
11
  require "pg_search"
8
12
 
9
13
  RSpec.configure do |config|
10
- config.expect_with :rspec do |c|
11
- c.syntax = :expect
14
+ config.expect_with :rspec do |expects|
15
+ expects.syntax = :expect
12
16
  end
13
17
 
14
- config.mock_with :rspec do |c|
15
- c.syntax = :expect
18
+ config.mock_with :rspec do |mocks|
19
+ mocks.syntax = :expect
20
+ mocks.verify_doubled_constant_names = true
21
+ mocks.verify_partial_doubles = true
16
22
  end
17
23
 
18
24
  config.example_status_persistence_file_path = 'tmp/examples.txt'
@@ -25,4 +31,7 @@ DOCUMENTS_SCHEMA = lambda do |t|
25
31
  t.belongs_to :searchable, polymorphic: true, index: true
26
32
  t.text :content
27
33
  t.timestamps null: false
34
+
35
+ # Used to test additional_attributes setup
36
+ t.text :additional_attribute_column
28
37
  end
@@ -29,7 +29,7 @@ end
29
29
 
30
30
  if ENV["LOGGER"]
31
31
  require "logger"
32
- ActiveRecord::Base.logger = Logger.new(STDOUT)
32
+ ActiveRecord::Base.logger = Logger.new($stdout)
33
33
  end
34
34
 
35
35
  def install_extension(name)
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.2.0
4
+ version: 2.3.4
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: 2019-05-26 00:00:00.000000000 Z
12
+ date: 2020-10-10 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: '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
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.68.1
90
+ version: 0.90.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.68.1
97
+ version: 0.90.0
98
98
  - !ruby/object:Gem::Dependency
99
99
  name: rubocop-performance
100
100
  requirement: !ruby/object:Gem::Requirement
@@ -109,6 +109,48 @@ dependencies:
109
109
  - - ">="
110
110
  - !ruby/object:Gem::Version
111
111
  version: '0'
112
+ - !ruby/object:Gem::Dependency
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
142
+ requirement: !ruby/object:Gem::Requirement
143
+ requirements:
144
+ - - ">="
145
+ - !ruby/object:Gem::Version
146
+ version: '0'
147
+ type: :development
148
+ prerelease: false
149
+ version_requirements: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - ">="
152
+ - !ruby/object:Gem::Version
153
+ version: '0'
112
154
  - !ruby/object:Gem::Dependency
113
155
  name: simplecov
114
156
  requirement: !ruby/object:Gem::Requirement
@@ -123,6 +165,20 @@ dependencies:
123
165
  - - ">="
124
166
  - !ruby/object:Gem::Version
125
167
  version: '0'
168
+ - !ruby/object:Gem::Dependency
169
+ name: warning
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'
126
182
  - !ruby/object:Gem::Dependency
127
183
  name: with_model
128
184
  requirement: !ruby/object:Gem::Requirement
@@ -149,6 +205,8 @@ files:
149
205
  - ".autotest"
150
206
  - ".bundle/config"
151
207
  - ".codeclimate.yml"
208
+ - ".editorconfig"
209
+ - ".github/dependabot.yml"
152
210
  - ".gitignore"
153
211
  - ".rspec"
154
212
  - ".rubocop.yml"
@@ -175,6 +233,7 @@ files:
175
233
  - lib/pg_search/migration/multisearch_generator.rb
176
234
  - lib/pg_search/migration/templates/add_pg_search_dmetaphone_support_functions.rb.erb
177
235
  - lib/pg_search/migration/templates/create_pg_search_documents.rb.erb
236
+ - lib/pg_search/model.rb
178
237
  - lib/pg_search/multisearch.rb
179
238
  - lib/pg_search/multisearch/rebuilder.rb
180
239
  - lib/pg_search/multisearchable.rb
@@ -185,7 +244,9 @@ files:
185
244
  - lib/pg_search/version.rb
186
245
  - pg_search.gemspec
187
246
  - spec/.rubocop.yml
247
+ - spec/integration/.rubocop.yml
188
248
  - spec/integration/associations_spec.rb
249
+ - spec/integration/deprecation_spec.rb
189
250
  - spec/integration/pagination_spec.rb
190
251
  - spec/integration/pg_search_spec.rb
191
252
  - spec/integration/single_table_inheritance_spec.rb
@@ -209,7 +270,7 @@ homepage: https://github.com/Casecommons/pg_search
209
270
  licenses:
210
271
  - MIT
211
272
  metadata: {}
212
- post_install_message:
273
+ post_install_message:
213
274
  rdoc_options: []
214
275
  require_paths:
215
276
  - lib
@@ -217,20 +278,22 @@ required_ruby_version: !ruby/object:Gem::Requirement
217
278
  requirements:
218
279
  - - ">="
219
280
  - !ruby/object:Gem::Version
220
- version: '2.4'
281
+ version: '2.5'
221
282
  required_rubygems_version: !ruby/object:Gem::Requirement
222
283
  requirements:
223
284
  - - ">="
224
285
  - !ruby/object:Gem::Version
225
286
  version: '0'
226
287
  requirements: []
227
- rubygems_version: 3.0.3
228
- signing_key:
288
+ rubygems_version: 3.1.2
289
+ signing_key:
229
290
  specification_version: 4
230
291
  summary: PgSearch builds Active Record named scopes that take advantage of PostgreSQL's
231
292
  full text search
232
293
  test_files:
294
+ - spec/integration/.rubocop.yml
233
295
  - spec/integration/associations_spec.rb
296
+ - spec/integration/deprecation_spec.rb
234
297
  - spec/integration/pagination_spec.rb
235
298
  - spec/integration/pg_search_spec.rb
236
299
  - spec/integration/single_table_inheritance_spec.rb