thinking-sphinx 3.0.3 → 3.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +2 -1
  3. data/HISTORY +25 -0
  4. data/lib/thinking_sphinx.rb +1 -0
  5. data/lib/thinking_sphinx/active_record/association_proxy.rb +13 -55
  6. data/lib/thinking_sphinx/active_record/association_proxy/attribute_finder.rb +47 -0
  7. data/lib/thinking_sphinx/active_record/base.rb +16 -15
  8. data/lib/thinking_sphinx/active_record/callbacks/delete_callbacks.rb +1 -12
  9. data/lib/thinking_sphinx/active_record/database_adapters.rb +41 -42
  10. data/lib/thinking_sphinx/active_record/polymorpher.rb +7 -2
  11. data/lib/thinking_sphinx/active_record/property_query.rb +23 -19
  12. data/lib/thinking_sphinx/active_record/sql_builder.rb +108 -129
  13. data/lib/thinking_sphinx/active_record/sql_builder/clause_builder.rb +28 -0
  14. data/lib/thinking_sphinx/active_record/sql_builder/query.rb +43 -0
  15. data/lib/thinking_sphinx/active_record/sql_builder/statement.rb +110 -0
  16. data/lib/thinking_sphinx/active_record/sql_source.rb +143 -138
  17. data/lib/thinking_sphinx/capistrano.rb +11 -8
  18. data/lib/thinking_sphinx/configuration.rb +57 -35
  19. data/lib/thinking_sphinx/connection.rb +15 -6
  20. data/lib/thinking_sphinx/core.rb +1 -0
  21. data/lib/thinking_sphinx/core/index.rb +18 -10
  22. data/lib/thinking_sphinx/core/settings.rb +9 -0
  23. data/lib/thinking_sphinx/deletion.rb +48 -0
  24. data/lib/thinking_sphinx/errors.rb +7 -0
  25. data/lib/thinking_sphinx/excerpter.rb +1 -0
  26. data/lib/thinking_sphinx/facet_search.rb +42 -19
  27. data/lib/thinking_sphinx/masks/scopes_mask.rb +7 -0
  28. data/lib/thinking_sphinx/middlewares.rb +27 -33
  29. data/lib/thinking_sphinx/middlewares/active_record_translator.rb +18 -18
  30. data/lib/thinking_sphinx/middlewares/geographer.rb +49 -16
  31. data/lib/thinking_sphinx/middlewares/sphinxql.rb +128 -58
  32. data/lib/thinking_sphinx/panes/excerpts_pane.rb +7 -3
  33. data/lib/thinking_sphinx/rake_interface.rb +10 -0
  34. data/lib/thinking_sphinx/real_time.rb +7 -1
  35. data/lib/thinking_sphinx/real_time/attribute.rb +4 -0
  36. data/lib/thinking_sphinx/real_time/callbacks/real_time_callbacks.rb +14 -10
  37. data/lib/thinking_sphinx/real_time/index.rb +20 -12
  38. data/lib/thinking_sphinx/search/glaze.rb +5 -0
  39. data/lib/thinking_sphinx/search/query.rb +4 -8
  40. data/lib/thinking_sphinx/tasks.rb +8 -0
  41. data/spec/acceptance/excerpts_spec.rb +22 -0
  42. data/spec/acceptance/remove_deleted_records_spec.rb +10 -0
  43. data/spec/acceptance/searching_across_models_spec.rb +10 -0
  44. data/spec/acceptance/searching_with_filters_spec.rb +15 -0
  45. data/spec/acceptance/specifying_sql_spec.rb +3 -3
  46. data/spec/acceptance/sphinx_scopes_spec.rb +11 -0
  47. data/spec/internal/app/indices/product_index.rb +2 -0
  48. data/spec/internal/app/models/categorisation.rb +6 -0
  49. data/spec/internal/app/models/category.rb +3 -0
  50. data/spec/internal/app/models/product.rb +4 -1
  51. data/spec/internal/db/schema.rb +10 -0
  52. data/spec/thinking_sphinx/active_record/base_spec.rb +33 -0
  53. data/spec/thinking_sphinx/active_record/callbacks/delete_callbacks_spec.rb +4 -35
  54. data/spec/thinking_sphinx/active_record/sql_builder_spec.rb +5 -10
  55. data/spec/thinking_sphinx/active_record/sql_source_spec.rb +4 -3
  56. data/spec/thinking_sphinx/configuration_spec.rb +26 -6
  57. data/spec/thinking_sphinx/connection_spec.rb +4 -1
  58. data/spec/thinking_sphinx/deletion_spec.rb +76 -0
  59. data/spec/thinking_sphinx/facet_search_spec.rb +54 -5
  60. data/spec/thinking_sphinx/panes/excerpts_pane_spec.rb +4 -6
  61. data/spec/thinking_sphinx/rake_interface_spec.rb +35 -0
  62. data/spec/thinking_sphinx/real_time/callbacks/real_time_callbacks_spec.rb +68 -28
  63. data/spec/thinking_sphinx/search/glaze_spec.rb +19 -0
  64. data/spec/thinking_sphinx/search/query_spec.rb +39 -2
  65. data/thinking-sphinx.gemspec +2 -2
  66. metadata +31 -45
@@ -3,7 +3,7 @@ $:.push File.expand_path('../lib', __FILE__)
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = 'thinking-sphinx'
6
- s.version = '3.0.3'
6
+ s.version = '3.0.4'
7
7
  s.platform = Gem::Platform::RUBY
8
8
  s.authors = ["Pat Allan"]
9
9
  s.email = ["pat@freelancing-gods.com"]
@@ -24,7 +24,7 @@ Gem::Specification.new do |s|
24
24
  s.add_runtime_dependency 'builder', '>= 2.1.2'
25
25
  s.add_runtime_dependency 'middleware', '>= 0.1.0'
26
26
  s.add_runtime_dependency 'innertube', '>= 1.0.2'
27
- s.add_runtime_dependency 'riddle', '>= 1.5.6'
27
+ s.add_runtime_dependency 'riddle', '>= 1.5.7'
28
28
 
29
29
  s.add_development_dependency 'appraisal', '~> 0.4.0'
30
30
  s.add_development_dependency 'combustion', '~> 0.4.0'
metadata CHANGED
@@ -1,100 +1,88 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: thinking-sphinx
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.3
5
- prerelease:
4
+ version: 3.0.4
6
5
  platform: ruby
7
6
  authors:
8
7
  - Pat Allan
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-05-08 00:00:00.000000000 Z
11
+ date: 2013-07-09 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: activerecord
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - '>='
20
18
  - !ruby/object:Gem::Version
21
19
  version: 3.1.0
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - '>='
28
25
  - !ruby/object:Gem::Version
29
26
  version: 3.1.0
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: builder
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - '>='
36
32
  - !ruby/object:Gem::Version
37
33
  version: 2.1.2
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - '>='
44
39
  - !ruby/object:Gem::Version
45
40
  version: 2.1.2
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: middleware
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ! '>='
45
+ - - '>='
52
46
  - !ruby/object:Gem::Version
53
47
  version: 0.1.0
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ! '>='
52
+ - - '>='
60
53
  - !ruby/object:Gem::Version
61
54
  version: 0.1.0
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: innertube
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
- - - ! '>='
59
+ - - '>='
68
60
  - !ruby/object:Gem::Version
69
61
  version: 1.0.2
70
62
  type: :runtime
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
- - - ! '>='
66
+ - - '>='
76
67
  - !ruby/object:Gem::Version
77
68
  version: 1.0.2
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: riddle
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
- - - ! '>='
73
+ - - '>='
84
74
  - !ruby/object:Gem::Version
85
- version: 1.5.6
75
+ version: 1.5.7
86
76
  type: :runtime
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
- - - ! '>='
80
+ - - '>='
92
81
  - !ruby/object:Gem::Version
93
- version: 1.5.6
82
+ version: 1.5.7
94
83
  - !ruby/object:Gem::Dependency
95
84
  name: appraisal
96
85
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
86
  requirements:
99
87
  - - ~>
100
88
  - !ruby/object:Gem::Version
@@ -102,7 +90,6 @@ dependencies:
102
90
  type: :development
103
91
  prerelease: false
104
92
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
93
  requirements:
107
94
  - - ~>
108
95
  - !ruby/object:Gem::Version
@@ -110,7 +97,6 @@ dependencies:
110
97
  - !ruby/object:Gem::Dependency
111
98
  name: combustion
112
99
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
100
  requirements:
115
101
  - - ~>
116
102
  - !ruby/object:Gem::Version
@@ -118,7 +104,6 @@ dependencies:
118
104
  type: :development
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
107
  requirements:
123
108
  - - ~>
124
109
  - !ruby/object:Gem::Version
@@ -126,7 +111,6 @@ dependencies:
126
111
  - !ruby/object:Gem::Dependency
127
112
  name: database_cleaner
128
113
  requirement: !ruby/object:Gem::Requirement
129
- none: false
130
114
  requirements:
131
115
  - - ~>
132
116
  - !ruby/object:Gem::Version
@@ -134,7 +118,6 @@ dependencies:
134
118
  type: :development
135
119
  prerelease: false
136
120
  version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
121
  requirements:
139
122
  - - ~>
140
123
  - !ruby/object:Gem::Version
@@ -142,7 +125,6 @@ dependencies:
142
125
  - !ruby/object:Gem::Dependency
143
126
  name: rspec
144
127
  requirement: !ruby/object:Gem::Requirement
145
- none: false
146
128
  requirements:
147
129
  - - ~>
148
130
  - !ruby/object:Gem::Version
@@ -150,7 +132,6 @@ dependencies:
150
132
  type: :development
151
133
  prerelease: false
152
134
  version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
135
  requirements:
155
136
  - - ~>
156
137
  - !ruby/object:Gem::Version
@@ -181,6 +162,7 @@ files:
181
162
  - lib/thinking_sphinx/active_record.rb
182
163
  - lib/thinking_sphinx/active_record/association.rb
183
164
  - lib/thinking_sphinx/active_record/association_proxy.rb
165
+ - lib/thinking_sphinx/active_record/association_proxy/attribute_finder.rb
184
166
  - lib/thinking_sphinx/active_record/associations.rb
185
167
  - lib/thinking_sphinx/active_record/attribute.rb
186
168
  - lib/thinking_sphinx/active_record/attribute/sphinx_presenter.rb
@@ -205,6 +187,9 @@ files:
205
187
  - lib/thinking_sphinx/active_record/property_query.rb
206
188
  - lib/thinking_sphinx/active_record/property_sql_presenter.rb
207
189
  - lib/thinking_sphinx/active_record/sql_builder.rb
190
+ - lib/thinking_sphinx/active_record/sql_builder/clause_builder.rb
191
+ - lib/thinking_sphinx/active_record/sql_builder/query.rb
192
+ - lib/thinking_sphinx/active_record/sql_builder/statement.rb
208
193
  - lib/thinking_sphinx/active_record/sql_source.rb
209
194
  - lib/thinking_sphinx/active_record/sql_source/template.rb
210
195
  - lib/thinking_sphinx/batched_search.rb
@@ -219,6 +204,8 @@ files:
219
204
  - lib/thinking_sphinx/core/index.rb
220
205
  - lib/thinking_sphinx/core/interpreter.rb
221
206
  - lib/thinking_sphinx/core/property.rb
207
+ - lib/thinking_sphinx/core/settings.rb
208
+ - lib/thinking_sphinx/deletion.rb
222
209
  - lib/thinking_sphinx/deltas.rb
223
210
  - lib/thinking_sphinx/deltas/default_delta.rb
224
211
  - lib/thinking_sphinx/deltas/delete_job.rb
@@ -319,6 +306,8 @@ files:
319
306
  - spec/internal/app/models/article.rb
320
307
  - spec/internal/app/models/bird.rb
321
308
  - spec/internal/app/models/book.rb
309
+ - spec/internal/app/models/categorisation.rb
310
+ - spec/internal/app/models/category.rb
322
311
  - spec/internal/app/models/city.rb
323
312
  - spec/internal/app/models/colour.rb
324
313
  - spec/internal/app/models/event.rb
@@ -359,6 +348,7 @@ files:
359
348
  - spec/thinking_sphinx/active_record/sql_source_spec.rb
360
349
  - spec/thinking_sphinx/configuration_spec.rb
361
350
  - spec/thinking_sphinx/connection_spec.rb
351
+ - spec/thinking_sphinx/deletion_spec.rb
362
352
  - spec/thinking_sphinx/deltas/default_delta_spec.rb
363
353
  - spec/thinking_sphinx/deltas_spec.rb
364
354
  - spec/thinking_sphinx/errors_spec.rb
@@ -393,33 +383,26 @@ files:
393
383
  - thinking-sphinx.gemspec
394
384
  homepage: http://pat.github.com/ts/en
395
385
  licenses: []
386
+ metadata: {}
396
387
  post_install_message:
397
388
  rdoc_options: []
398
389
  require_paths:
399
390
  - lib
400
391
  required_ruby_version: !ruby/object:Gem::Requirement
401
- none: false
402
392
  requirements:
403
- - - ! '>='
393
+ - - '>='
404
394
  - !ruby/object:Gem::Version
405
395
  version: '0'
406
- segments:
407
- - 0
408
- hash: 4005802565131001666
409
396
  required_rubygems_version: !ruby/object:Gem::Requirement
410
- none: false
411
397
  requirements:
412
- - - ! '>='
398
+ - - '>='
413
399
  - !ruby/object:Gem::Version
414
400
  version: '0'
415
- segments:
416
- - 0
417
- hash: 4005802565131001666
418
401
  requirements: []
419
402
  rubyforge_project: thinking-sphinx
420
- rubygems_version: 1.8.23
403
+ rubygems_version: 2.0.2
421
404
  signing_key:
422
- specification_version: 3
405
+ specification_version: 4
423
406
  summary: A smart wrapper over Sphinx for ActiveRecord
424
407
  test_files:
425
408
  - spec/acceptance/association_scoping_spec.rb
@@ -465,6 +448,8 @@ test_files:
465
448
  - spec/internal/app/models/article.rb
466
449
  - spec/internal/app/models/bird.rb
467
450
  - spec/internal/app/models/book.rb
451
+ - spec/internal/app/models/categorisation.rb
452
+ - spec/internal/app/models/category.rb
468
453
  - spec/internal/app/models/city.rb
469
454
  - spec/internal/app/models/colour.rb
470
455
  - spec/internal/app/models/event.rb
@@ -505,6 +490,7 @@ test_files:
505
490
  - spec/thinking_sphinx/active_record/sql_source_spec.rb
506
491
  - spec/thinking_sphinx/configuration_spec.rb
507
492
  - spec/thinking_sphinx/connection_spec.rb
493
+ - spec/thinking_sphinx/deletion_spec.rb
508
494
  - spec/thinking_sphinx/deltas/default_delta_spec.rb
509
495
  - spec/thinking_sphinx/deltas_spec.rb
510
496
  - spec/thinking_sphinx/errors_spec.rb