thinking-sphinx 3.1.4 → 3.2.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/.travis.yml +7 -2
- data/Appraisals +4 -4
- data/Gemfile +2 -0
- data/HISTORY +24 -0
- data/README.textile +5 -4
- data/gemfiles/rails_3_2.gemfile +2 -1
- data/gemfiles/rails_4_0.gemfile +2 -1
- data/gemfiles/rails_4_1.gemfile +2 -1
- data/gemfiles/rails_4_2.gemfile +2 -1
- data/lib/thinking_sphinx.rb +4 -1
- data/lib/thinking_sphinx/active_record.rb +1 -0
- data/lib/thinking_sphinx/active_record/association_proxy/attribute_finder.rb +1 -1
- data/lib/thinking_sphinx/active_record/attribute/type.rb +1 -1
- data/lib/thinking_sphinx/active_record/base.rb +1 -1
- data/lib/thinking_sphinx/active_record/callbacks/delete_callbacks.rb +1 -1
- data/lib/thinking_sphinx/active_record/callbacks/delta_callbacks.rb +7 -3
- data/lib/thinking_sphinx/active_record/callbacks/update_callbacks.rb +2 -2
- data/lib/thinking_sphinx/active_record/column_sql_presenter.rb +5 -1
- data/lib/thinking_sphinx/active_record/index.rb +4 -4
- data/lib/thinking_sphinx/active_record/source_joins.rb +55 -0
- data/lib/thinking_sphinx/active_record/sql_builder.rb +3 -18
- data/lib/thinking_sphinx/active_record/sql_builder/query.rb +7 -0
- data/lib/thinking_sphinx/active_record/sql_source.rb +7 -5
- data/lib/thinking_sphinx/active_record/sql_source/template.rb +1 -1
- data/lib/thinking_sphinx/callbacks.rb +18 -0
- data/lib/thinking_sphinx/configuration.rb +50 -33
- data/lib/thinking_sphinx/configuration/duplicate_names.rb +34 -0
- data/lib/thinking_sphinx/connection.rb +4 -4
- data/lib/thinking_sphinx/controller.rb +6 -4
- data/lib/thinking_sphinx/deletion.rb +13 -0
- data/lib/thinking_sphinx/errors.rb +8 -0
- data/lib/thinking_sphinx/index_set.rb +6 -1
- data/lib/thinking_sphinx/indexing_strategies/all_at_once.rb +7 -0
- data/lib/thinking_sphinx/indexing_strategies/one_at_a_time.rb +14 -0
- data/lib/thinking_sphinx/middlewares/active_record_translator.rb +1 -1
- data/lib/thinking_sphinx/middlewares/inquirer.rb +1 -1
- data/lib/thinking_sphinx/middlewares/sphinxql.rb +2 -2
- data/lib/thinking_sphinx/middlewares/stale_id_checker.rb +1 -1
- data/lib/thinking_sphinx/middlewares/stale_id_filter.rb +2 -2
- data/lib/thinking_sphinx/rake_interface.rb +14 -5
- data/lib/thinking_sphinx/real_time.rb +1 -0
- data/lib/thinking_sphinx/real_time/attribute.rb +7 -1
- data/lib/thinking_sphinx/real_time/index.rb +2 -0
- data/lib/thinking_sphinx/real_time/populator.rb +3 -3
- data/lib/thinking_sphinx/real_time/property.rb +1 -5
- data/lib/thinking_sphinx/real_time/transcriber.rb +44 -9
- data/lib/thinking_sphinx/real_time/translator.rb +36 -0
- data/lib/thinking_sphinx/search.rb +10 -0
- data/lib/thinking_sphinx/search/context.rb +8 -0
- data/lib/thinking_sphinx/search/stale_ids_exception.rb +3 -2
- data/lib/thinking_sphinx/subscribers/populator_subscriber.rb +1 -1
- data/lib/thinking_sphinx/tasks.rb +3 -1
- data/spec/acceptance/remove_deleted_records_spec.rb +18 -0
- data/spec/acceptance/searching_with_filters_spec.rb +13 -0
- data/spec/internal/app/indices/product_index.rb +1 -0
- data/spec/internal/db/schema.rb +1 -0
- data/spec/spec_helper.rb +1 -0
- data/spec/support/json_column.rb +29 -0
- data/spec/thinking_sphinx/active_record/callbacks/delete_callbacks_spec.rb +10 -0
- data/spec/thinking_sphinx/active_record/callbacks/update_callbacks_spec.rb +10 -0
- data/spec/thinking_sphinx/active_record/column_sql_presenter_spec.rb +37 -0
- data/spec/thinking_sphinx/active_record/sql_builder_spec.rb +7 -17
- data/spec/thinking_sphinx/active_record/sql_source_spec.rb +43 -15
- data/spec/thinking_sphinx/errors_spec.rb +7 -0
- data/spec/thinking_sphinx/middlewares/active_record_translator_spec.rb +15 -1
- data/spec/thinking_sphinx/middlewares/stale_id_checker_spec.rb +1 -0
- data/spec/thinking_sphinx/middlewares/stale_id_filter_spec.rb +26 -6
- data/spec/thinking_sphinx/real_time/callbacks/real_time_callbacks_spec.rb +4 -4
- data/spec/thinking_sphinx_spec.rb +2 -1
- data/thinking-sphinx.gemspec +1 -1
- metadata +12 -3
@@ -9,7 +9,7 @@ describe ThinkingSphinx::ActiveRecord::SQLSource do
|
|
9
9
|
let(:db_config) { {:host => 'localhost', :user => 'root',
|
10
10
|
:database => 'default'} }
|
11
11
|
let(:source) { ThinkingSphinx::ActiveRecord::SQLSource.new(model,
|
12
|
-
:position => 3) }
|
12
|
+
:position => 3, :primary_key => model.primary_key || :id ) }
|
13
13
|
let(:adapter) { double('adapter') }
|
14
14
|
|
15
15
|
before :each do
|
@@ -53,12 +53,14 @@ describe ThinkingSphinx::ActiveRecord::SQLSource do
|
|
53
53
|
let(:processor) { double('processor') }
|
54
54
|
let(:source) {
|
55
55
|
ThinkingSphinx::ActiveRecord::SQLSource.new model,
|
56
|
-
:delta_processor => processor_class
|
56
|
+
:delta_processor => processor_class,
|
57
|
+
:primary_key => model.primary_key || :id
|
57
58
|
}
|
58
59
|
let(:source_with_options) {
|
59
60
|
ThinkingSphinx::ActiveRecord::SQLSource.new model,
|
60
61
|
:delta_processor => processor_class,
|
61
|
-
:delta_options => { :opt_key => :opt_value }
|
62
|
+
:delta_options => { :opt_key => :opt_value },
|
63
|
+
:primary_key => model.primary_key || :id
|
62
64
|
}
|
63
65
|
|
64
66
|
it "loads the processor with the adapter" do
|
@@ -81,7 +83,8 @@ describe ThinkingSphinx::ActiveRecord::SQLSource do
|
|
81
83
|
describe '#delta?' do
|
82
84
|
it "returns the given delta setting" do
|
83
85
|
source = ThinkingSphinx::ActiveRecord::SQLSource.new model,
|
84
|
-
:delta? => true
|
86
|
+
:delta? => true,
|
87
|
+
:primary_key => model.primary_key || :id
|
85
88
|
|
86
89
|
source.should be_a_delta
|
87
90
|
end
|
@@ -90,7 +93,8 @@ describe ThinkingSphinx::ActiveRecord::SQLSource do
|
|
90
93
|
describe '#disable_range?' do
|
91
94
|
it "returns the given range setting" do
|
92
95
|
source = ThinkingSphinx::ActiveRecord::SQLSource.new model,
|
93
|
-
:disable_range? => true
|
96
|
+
:disable_range? => true,
|
97
|
+
:primary_key => model.primary_key || :id
|
94
98
|
|
95
99
|
source.disable_range?.should be_true
|
96
100
|
end
|
@@ -129,7 +133,7 @@ describe ThinkingSphinx::ActiveRecord::SQLSource do
|
|
129
133
|
|
130
134
|
it "allows for custom names, but adds the position suffix" do
|
131
135
|
source = ThinkingSphinx::ActiveRecord::SQLSource.new model,
|
132
|
-
:name => 'people', :position => 2
|
136
|
+
:name => 'people', :position => 2, :primary_key => model.primary_key || :id
|
133
137
|
|
134
138
|
source.name.should == 'people_2'
|
135
139
|
end
|
@@ -137,7 +141,8 @@ describe ThinkingSphinx::ActiveRecord::SQLSource do
|
|
137
141
|
|
138
142
|
describe '#offset' do
|
139
143
|
it "returns the given offset" do
|
140
|
-
source = ThinkingSphinx::ActiveRecord::SQLSource.new model,
|
144
|
+
source = ThinkingSphinx::ActiveRecord::SQLSource.new model,
|
145
|
+
:offset => 12, :primary_key => model.primary_key || :id
|
141
146
|
|
142
147
|
source.offset.should == 12
|
143
148
|
end
|
@@ -153,6 +158,19 @@ describe ThinkingSphinx::ActiveRecord::SQLSource do
|
|
153
158
|
|
154
159
|
source.options[:utf8?].should be_true
|
155
160
|
end
|
161
|
+
|
162
|
+
describe "#primary key" do
|
163
|
+
let(:model) { double('model', :connection => connection,
|
164
|
+
:name => 'User', :column_names => [], :inheritance_column => 'type') }
|
165
|
+
let(:source) { ThinkingSphinx::ActiveRecord::SQLSource.new(model,
|
166
|
+
:position => 3, :primary_key => :custom_key) }
|
167
|
+
let(:template) { ThinkingSphinx::ActiveRecord::SQLSource::Template.new(source) }
|
168
|
+
|
169
|
+
it 'template should allow primary key from options' do
|
170
|
+
template.apply
|
171
|
+
template.source.attributes.collect(&:columns) == :custom_key
|
172
|
+
end
|
173
|
+
end
|
156
174
|
end
|
157
175
|
|
158
176
|
describe '#render' do
|
@@ -194,14 +212,6 @@ describe ThinkingSphinx::ActiveRecord::SQLSource do
|
|
194
212
|
source.sql_query_pre.should == ['Change Setting']
|
195
213
|
end
|
196
214
|
|
197
|
-
it "appends the builder's sql_query_post_index value" do
|
198
|
-
builder.stub! :sql_query_post_index => ['RESET DELTAS']
|
199
|
-
|
200
|
-
source.render
|
201
|
-
|
202
|
-
source.sql_query_post_index.should include('RESET DELTAS')
|
203
|
-
end
|
204
|
-
|
205
215
|
it "adds fields with attributes to sql_field_string" do
|
206
216
|
source.fields << double('field', :name => 'title', :source_type => nil,
|
207
217
|
:with_attribute? => true, :file? => false, :wordcount? => false)
|
@@ -398,6 +408,24 @@ describe ThinkingSphinx::ActiveRecord::SQLSource do
|
|
398
408
|
|
399
409
|
source.sql_sock.should == '/unix/socket'
|
400
410
|
end
|
411
|
+
|
412
|
+
it "sets the mysql_ssl_cert from the model's database settings" do
|
413
|
+
source.set_database_settings :sslcert => '/path/to/cert.pem'
|
414
|
+
|
415
|
+
source.mysql_ssl_cert.should eq '/path/to/cert.pem'
|
416
|
+
end
|
417
|
+
|
418
|
+
it "sets the mysql_ssl_key from the model's database settings" do
|
419
|
+
source.set_database_settings :sslkey => '/path/to/key.pem'
|
420
|
+
|
421
|
+
source.mysql_ssl_key.should eq '/path/to/key.pem'
|
422
|
+
end
|
423
|
+
|
424
|
+
it "sets the mysql_ssl_ca from the model's database settings" do
|
425
|
+
source.set_database_settings :sslca => '/path/to/ca.pem'
|
426
|
+
|
427
|
+
source.mysql_ssl_ca.should eq '/path/to/ca.pem'
|
428
|
+
end
|
401
429
|
end
|
402
430
|
|
403
431
|
describe '#type' do
|
@@ -33,6 +33,13 @@ describe ThinkingSphinx::SphinxError do
|
|
33
33
|
should be_a(ThinkingSphinx::ConnectionError)
|
34
34
|
end
|
35
35
|
|
36
|
+
it 'translates out-of-bounds errors' do
|
37
|
+
error.stub :message => "offset out of bounds (offset=1001, max_matches=1000)"
|
38
|
+
|
39
|
+
ThinkingSphinx::SphinxError.new_from_mysql(error).
|
40
|
+
should be_a(ThinkingSphinx::OutOfBoundsError)
|
41
|
+
end
|
42
|
+
|
36
43
|
it 'prefixes the connection error message' do
|
37
44
|
error.stub :message => "Can't connect to MySQL server on '127.0.0.1' (61)"
|
38
45
|
|
@@ -11,9 +11,10 @@ describe ThinkingSphinx::Middlewares::ActiveRecordTranslator do
|
|
11
11
|
let(:app) { double('app', :call => true) }
|
12
12
|
let(:middleware) {
|
13
13
|
ThinkingSphinx::Middlewares::ActiveRecordTranslator.new app }
|
14
|
-
let(:context) { {:raw => [], :results => []} }
|
14
|
+
let(:context) { {:raw => [], :results => [] } }
|
15
15
|
let(:model) { double('model', :primary_key => :id) }
|
16
16
|
let(:search) { double('search', :options => {}) }
|
17
|
+
let(:configuration) { double('configuration', :settings => {:primary_key => :id}) }
|
17
18
|
|
18
19
|
def raw_result(id, model_name)
|
19
20
|
{'sphinx_internal_id' => id, 'sphinx_internal_class' => model_name}
|
@@ -22,6 +23,7 @@ describe ThinkingSphinx::Middlewares::ActiveRecordTranslator do
|
|
22
23
|
describe '#call' do
|
23
24
|
before :each do
|
24
25
|
context.stub :search => search
|
26
|
+
context.stub :configuration => configuration
|
25
27
|
model.stub :unscoped => model
|
26
28
|
end
|
27
29
|
|
@@ -101,6 +103,18 @@ describe ThinkingSphinx::Middlewares::ActiveRecordTranslator do
|
|
101
103
|
context[:results].should == [instance_1, instance_2]
|
102
104
|
end
|
103
105
|
|
106
|
+
it "handles model without primary key" do
|
107
|
+
no_primary_key_model = double('no primary key model')
|
108
|
+
no_primary_key_model.stub :unscoped => no_primary_key_model
|
109
|
+
model_name = double('article', :constantize => no_primary_key_model)
|
110
|
+
instance = double('instance', :id => 1)
|
111
|
+
no_primary_key_model.stub :where => [instance]
|
112
|
+
|
113
|
+
context[:results] << raw_result(1, model_name)
|
114
|
+
|
115
|
+
middleware.call [context]
|
116
|
+
end
|
117
|
+
|
104
118
|
context 'SQL options' do
|
105
119
|
let(:relation) { double('relation', :where => []) }
|
106
120
|
|
@@ -23,7 +23,7 @@ describe ThinkingSphinx::Middlewares::StaleIdFilter do
|
|
23
23
|
app.stub(:call) do
|
24
24
|
@calls ||= 0
|
25
25
|
@calls += 1
|
26
|
-
raise ThinkingSphinx::Search::StaleIdsException
|
26
|
+
raise ThinkingSphinx::Search::StaleIdsException.new([12], context) if @calls == 1
|
27
27
|
end
|
28
28
|
end
|
29
29
|
|
@@ -47,8 +47,8 @@ describe ThinkingSphinx::Middlewares::StaleIdFilter do
|
|
47
47
|
app.stub(:call) do
|
48
48
|
@calls ||= 0
|
49
49
|
@calls += 1
|
50
|
-
raise ThinkingSphinx::Search::StaleIdsException
|
51
|
-
raise ThinkingSphinx::Search::StaleIdsException
|
50
|
+
raise ThinkingSphinx::Search::StaleIdsException.new([12], context) if @calls == 1
|
51
|
+
raise ThinkingSphinx::Search::StaleIdsException.new([13], context) if @calls == 2
|
52
52
|
end
|
53
53
|
end
|
54
54
|
|
@@ -73,9 +73,9 @@ describe ThinkingSphinx::Middlewares::StaleIdFilter do
|
|
73
73
|
@calls ||= 0
|
74
74
|
@calls += 1
|
75
75
|
|
76
|
-
raise ThinkingSphinx::Search::StaleIdsException
|
77
|
-
raise ThinkingSphinx::Search::StaleIdsException
|
78
|
-
raise ThinkingSphinx::Search::StaleIdsException
|
76
|
+
raise ThinkingSphinx::Search::StaleIdsException.new([12], context) if @calls == 1
|
77
|
+
raise ThinkingSphinx::Search::StaleIdsException.new([13], context) if @calls == 2
|
78
|
+
raise ThinkingSphinx::Search::StaleIdsException.new([14], context) if @calls == 3
|
79
79
|
end
|
80
80
|
end
|
81
81
|
|
@@ -87,5 +87,25 @@ describe ThinkingSphinx::Middlewares::StaleIdFilter do
|
|
87
87
|
}
|
88
88
|
end
|
89
89
|
end
|
90
|
+
|
91
|
+
context 'stale ids exceptions with multiple contexts' do
|
92
|
+
let(:context2) { {:raw => [], :results => []} }
|
93
|
+
let(:search2) { double('search2', :options => {}) }
|
94
|
+
before :each do
|
95
|
+
context2.stub :search => search2
|
96
|
+
app.stub(:call) do
|
97
|
+
@calls ||= 0
|
98
|
+
@calls += 1
|
99
|
+
raise ThinkingSphinx::Search::StaleIdsException.new([12], context2) if @calls == 1
|
100
|
+
end
|
101
|
+
end
|
102
|
+
|
103
|
+
it "appends the ids to the without_ids filter in the correct context" do
|
104
|
+
middleware.call [context, context2]
|
105
|
+
search.options[:without_ids].should == nil
|
106
|
+
search2.options[:without_ids].should == [12]
|
107
|
+
end
|
108
|
+
end
|
109
|
+
|
90
110
|
end
|
91
111
|
end
|
@@ -33,7 +33,7 @@ describe ThinkingSphinx::RealTime::Callbacks::RealTimeCallbacks do
|
|
33
33
|
|
34
34
|
it "creates an insert statement with all fields and attributes" do
|
35
35
|
Riddle::Query::Insert.should_receive(:new).
|
36
|
-
with('my_index', ['id', 'name', 'created_at'], [123, 'Foo', time]).
|
36
|
+
with('my_index', ['id', 'name', 'created_at'], [[123, 'Foo', time]]).
|
37
37
|
and_return(insert)
|
38
38
|
|
39
39
|
callbacks.after_save instance
|
@@ -62,7 +62,7 @@ describe ThinkingSphinx::RealTime::Callbacks::RealTimeCallbacks do
|
|
62
62
|
|
63
63
|
it "creates an insert statement with all fields and attributes" do
|
64
64
|
Riddle::Query::Insert.should_receive(:new).
|
65
|
-
with('my_index', ['id', 'name', 'created_at'], [123, 'Foo', time]).
|
65
|
+
with('my_index', ['id', 'name', 'created_at'], [[123, 'Foo', time]]).
|
66
66
|
and_return(insert)
|
67
67
|
|
68
68
|
callbacks.after_save instance
|
@@ -94,7 +94,7 @@ describe ThinkingSphinx::RealTime::Callbacks::RealTimeCallbacks do
|
|
94
94
|
|
95
95
|
it "creates insert statements with all fields and attributes" do
|
96
96
|
Riddle::Query::Insert.should_receive(:new).twice.
|
97
|
-
with('my_index', ['id', 'name', 'created_at'], [123, 'Foo', time]).
|
97
|
+
with('my_index', ['id', 'name', 'created_at'], [[123, 'Foo', time]]).
|
98
98
|
and_return(insert)
|
99
99
|
|
100
100
|
callbacks.after_save instance
|
@@ -128,7 +128,7 @@ describe ThinkingSphinx::RealTime::Callbacks::RealTimeCallbacks do
|
|
128
128
|
|
129
129
|
it "creates insert statements with all fields and attributes" do
|
130
130
|
Riddle::Query::Insert.should_receive(:new).twice.
|
131
|
-
with('my_index', ['id', 'name', 'created_at'], [123, 'Foo', time]).
|
131
|
+
with('my_index', ['id', 'name', 'created_at'], [[123, 'Foo', time]]).
|
132
132
|
and_return(insert)
|
133
133
|
|
134
134
|
callbacks.after_save instance
|
@@ -2,7 +2,8 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe ThinkingSphinx do
|
4
4
|
describe '.count' do
|
5
|
-
let(:search) { double('search', :total_entries => 23
|
5
|
+
let(:search) { double('search', :total_entries => 23, :populated? => false,
|
6
|
+
:options => {}) }
|
6
7
|
|
7
8
|
before :each do
|
8
9
|
ThinkingSphinx::Search.stub :new => search
|
data/thinking-sphinx.gemspec
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: thinking-sphinx
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pat Allan
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-05-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|
@@ -204,6 +204,7 @@ files:
|
|
204
204
|
- lib/thinking_sphinx/active_record/property_query.rb
|
205
205
|
- lib/thinking_sphinx/active_record/property_sql_presenter.rb
|
206
206
|
- lib/thinking_sphinx/active_record/simple_many_query.rb
|
207
|
+
- lib/thinking_sphinx/active_record/source_joins.rb
|
207
208
|
- lib/thinking_sphinx/active_record/sql_builder.rb
|
208
209
|
- lib/thinking_sphinx/active_record/sql_builder/clause_builder.rb
|
209
210
|
- lib/thinking_sphinx/active_record/sql_builder/query.rb
|
@@ -219,6 +220,7 @@ files:
|
|
219
220
|
- lib/thinking_sphinx/configuration/consistent_ids.rb
|
220
221
|
- lib/thinking_sphinx/configuration/defaults.rb
|
221
222
|
- lib/thinking_sphinx/configuration/distributed_indices.rb
|
223
|
+
- lib/thinking_sphinx/configuration/duplicate_names.rb
|
222
224
|
- lib/thinking_sphinx/configuration/minimum_fields.rb
|
223
225
|
- lib/thinking_sphinx/connection.rb
|
224
226
|
- lib/thinking_sphinx/controller.rb
|
@@ -248,6 +250,8 @@ files:
|
|
248
250
|
- lib/thinking_sphinx/guard/files.rb
|
249
251
|
- lib/thinking_sphinx/index.rb
|
250
252
|
- lib/thinking_sphinx/index_set.rb
|
253
|
+
- lib/thinking_sphinx/indexing_strategies/all_at_once.rb
|
254
|
+
- lib/thinking_sphinx/indexing_strategies/one_at_a_time.rb
|
251
255
|
- lib/thinking_sphinx/logger.rb
|
252
256
|
- lib/thinking_sphinx/masks.rb
|
253
257
|
- lib/thinking_sphinx/masks/group_enumerators_mask.rb
|
@@ -283,6 +287,7 @@ files:
|
|
283
287
|
- lib/thinking_sphinx/real_time/populator.rb
|
284
288
|
- lib/thinking_sphinx/real_time/property.rb
|
285
289
|
- lib/thinking_sphinx/real_time/transcriber.rb
|
290
|
+
- lib/thinking_sphinx/real_time/translator.rb
|
286
291
|
- lib/thinking_sphinx/scopes.rb
|
287
292
|
- lib/thinking_sphinx/search.rb
|
288
293
|
- lib/thinking_sphinx/search/batch_inquirer.rb
|
@@ -366,6 +371,7 @@ files:
|
|
366
371
|
- spec/internal/db/schema.rb
|
367
372
|
- spec/internal/tmp/.gitkeep
|
368
373
|
- spec/spec_helper.rb
|
374
|
+
- spec/support/json_column.rb
|
369
375
|
- spec/support/multi_schema.rb
|
370
376
|
- spec/support/sphinx_yaml_helpers.rb
|
371
377
|
- spec/thinking_sphinx/active_record/association_spec.rb
|
@@ -375,6 +381,7 @@ files:
|
|
375
381
|
- spec/thinking_sphinx/active_record/callbacks/delta_callbacks_spec.rb
|
376
382
|
- spec/thinking_sphinx/active_record/callbacks/update_callbacks_spec.rb
|
377
383
|
- spec/thinking_sphinx/active_record/column_spec.rb
|
384
|
+
- spec/thinking_sphinx/active_record/column_sql_presenter_spec.rb
|
378
385
|
- spec/thinking_sphinx/active_record/database_adapters/abstract_adapter_spec.rb
|
379
386
|
- spec/thinking_sphinx/active_record/database_adapters/mysql_adapter_spec.rb
|
380
387
|
- spec/thinking_sphinx/active_record/database_adapters/postgresql_adapter_spec.rb
|
@@ -443,7 +450,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
443
450
|
version: '0'
|
444
451
|
requirements: []
|
445
452
|
rubyforge_project: thinking-sphinx
|
446
|
-
rubygems_version: 2.
|
453
|
+
rubygems_version: 2.4.8
|
447
454
|
signing_key:
|
448
455
|
specification_version: 4
|
449
456
|
summary: A smart wrapper over Sphinx for ActiveRecord
|
@@ -516,6 +523,7 @@ test_files:
|
|
516
523
|
- spec/internal/db/schema.rb
|
517
524
|
- spec/internal/tmp/.gitkeep
|
518
525
|
- spec/spec_helper.rb
|
526
|
+
- spec/support/json_column.rb
|
519
527
|
- spec/support/multi_schema.rb
|
520
528
|
- spec/support/sphinx_yaml_helpers.rb
|
521
529
|
- spec/thinking_sphinx/active_record/association_spec.rb
|
@@ -525,6 +533,7 @@ test_files:
|
|
525
533
|
- spec/thinking_sphinx/active_record/callbacks/delta_callbacks_spec.rb
|
526
534
|
- spec/thinking_sphinx/active_record/callbacks/update_callbacks_spec.rb
|
527
535
|
- spec/thinking_sphinx/active_record/column_spec.rb
|
536
|
+
- spec/thinking_sphinx/active_record/column_sql_presenter_spec.rb
|
528
537
|
- spec/thinking_sphinx/active_record/database_adapters/abstract_adapter_spec.rb
|
529
538
|
- spec/thinking_sphinx/active_record/database_adapters/mysql_adapter_spec.rb
|
530
539
|
- spec/thinking_sphinx/active_record/database_adapters/postgresql_adapter_spec.rb
|