thinking-sphinx 1.4.6 → 1.4.7
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.
- data/README.textile +6 -1
- data/features/searching_by_model.feature +24 -30
- data/features/thinking_sphinx/db/.gitignore +1 -0
- data/features/thinking_sphinx/db/fixtures/post_keywords.txt +1 -0
- data/lib/cucumber/thinking_sphinx/internal_world.rb +26 -26
- data/lib/thinking_sphinx.rb +17 -26
- data/lib/thinking_sphinx/active_record.rb +69 -74
- data/lib/thinking_sphinx/active_record/attribute_updates.rb +11 -10
- data/lib/thinking_sphinx/active_record/has_many_association.rb +2 -1
- data/lib/thinking_sphinx/adapters/abstract_adapter.rb +11 -11
- data/lib/thinking_sphinx/adapters/postgresql_adapter.rb +34 -20
- data/lib/thinking_sphinx/association.rb +12 -7
- data/lib/thinking_sphinx/attribute.rb +64 -61
- data/lib/thinking_sphinx/configuration.rb +32 -36
- data/lib/thinking_sphinx/context.rb +3 -2
- data/lib/thinking_sphinx/deploy/capistrano.rb +7 -9
- data/lib/thinking_sphinx/search.rb +201 -178
- data/lib/thinking_sphinx/source/sql.rb +1 -1
- data/lib/thinking_sphinx/tasks.rb +21 -19
- data/lib/thinking_sphinx/version.rb +3 -0
- data/spec/fixtures/data.sql +32 -0
- data/spec/fixtures/database.yml.default +3 -0
- data/spec/fixtures/models.rb +161 -0
- data/spec/fixtures/structure.sql +146 -0
- data/spec/spec_helper.rb +57 -0
- data/spec/sphinx_helper.rb +61 -0
- data/spec/thinking_sphinx/active_record/delta_spec.rb +24 -24
- data/spec/thinking_sphinx/active_record/has_many_association_spec.rb +22 -0
- data/spec/thinking_sphinx/active_record/scopes_spec.rb +25 -25
- data/spec/thinking_sphinx/active_record_spec.rb +110 -109
- data/spec/thinking_sphinx/adapters/abstract_adapter_spec.rb +38 -38
- data/spec/thinking_sphinx/association_spec.rb +20 -2
- data/spec/thinking_sphinx/context_spec.rb +61 -64
- data/spec/thinking_sphinx/search_spec.rb +7 -0
- data/spec/thinking_sphinx_spec.rb +47 -46
- metadata +50 -98
- data/VERSION +0 -1
- data/tasks/distribution.rb +0 -34
- data/tasks/testing.rb +0 -80
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: thinking-sphinx
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 1.4.
|
5
|
+
version: 1.4.7
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Pat Allan
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-
|
13
|
+
date: 2011-08-28 00:00:00 +10:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
@@ -28,68 +28,68 @@ dependencies:
|
|
28
28
|
prerelease: false
|
29
29
|
version_requirements: *id001
|
30
30
|
- !ruby/object:Gem::Dependency
|
31
|
-
name:
|
31
|
+
name: after_commit
|
32
32
|
requirement: &id002 !ruby/object:Gem::Requirement
|
33
33
|
none: false
|
34
34
|
requirements:
|
35
35
|
- - ">="
|
36
36
|
- !ruby/object:Gem::Version
|
37
|
-
version: 1.
|
37
|
+
version: 1.0.7
|
38
38
|
type: :runtime
|
39
39
|
prerelease: false
|
40
40
|
version_requirements: *id002
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: riddle
|
43
43
|
requirement: &id003 !ruby/object:Gem::Requirement
|
44
44
|
none: false
|
45
45
|
requirements:
|
46
46
|
- - ">="
|
47
47
|
- !ruby/object:Gem::Version
|
48
|
-
version: 1.
|
48
|
+
version: 1.3.3
|
49
49
|
type: :runtime
|
50
50
|
prerelease: false
|
51
51
|
version_requirements: *id003
|
52
52
|
- !ruby/object:Gem::Dependency
|
53
|
-
name:
|
53
|
+
name: cucumber
|
54
54
|
requirement: &id004 !ruby/object:Gem::Requirement
|
55
55
|
none: false
|
56
56
|
requirements:
|
57
57
|
- - "="
|
58
58
|
- !ruby/object:Gem::Version
|
59
|
-
version:
|
59
|
+
version: 1.0.2
|
60
60
|
type: :development
|
61
61
|
prerelease: false
|
62
62
|
version_requirements: *id004
|
63
63
|
- !ruby/object:Gem::Dependency
|
64
|
-
name:
|
64
|
+
name: faker
|
65
65
|
requirement: &id005 !ruby/object:Gem::Requirement
|
66
66
|
none: false
|
67
67
|
requirements:
|
68
68
|
- - "="
|
69
69
|
- !ruby/object:Gem::Version
|
70
|
-
version: 0.
|
70
|
+
version: 0.3.1
|
71
71
|
type: :development
|
72
72
|
prerelease: false
|
73
73
|
version_requirements: *id005
|
74
74
|
- !ruby/object:Gem::Dependency
|
75
|
-
name:
|
75
|
+
name: ginger
|
76
76
|
requirement: &id006 !ruby/object:Gem::Requirement
|
77
77
|
none: false
|
78
78
|
requirements:
|
79
79
|
- - "="
|
80
80
|
- !ruby/object:Gem::Version
|
81
|
-
version: 1.
|
81
|
+
version: 1.2.0
|
82
82
|
type: :development
|
83
83
|
prerelease: false
|
84
84
|
version_requirements: *id006
|
85
85
|
- !ruby/object:Gem::Dependency
|
86
|
-
name:
|
86
|
+
name: rake
|
87
87
|
requirement: &id007 !ruby/object:Gem::Requirement
|
88
88
|
none: false
|
89
89
|
requirements:
|
90
|
-
- - "
|
90
|
+
- - ">="
|
91
91
|
- !ruby/object:Gem::Version
|
92
|
-
version: 0.
|
92
|
+
version: 0.9.2
|
93
93
|
type: :development
|
94
94
|
prerelease: false
|
95
95
|
version_requirements: *id007
|
@@ -100,110 +100,42 @@ dependencies:
|
|
100
100
|
requirements:
|
101
101
|
- - "="
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version: 2.
|
103
|
+
version: 2.6.0
|
104
104
|
type: :development
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: *id008
|
107
107
|
- !ruby/object:Gem::Dependency
|
108
|
-
name:
|
108
|
+
name: will_paginate
|
109
109
|
requirement: &id009 !ruby/object:Gem::Requirement
|
110
110
|
none: false
|
111
111
|
requirements:
|
112
112
|
- - "="
|
113
113
|
- !ruby/object:Gem::Version
|
114
|
-
version: 2.
|
114
|
+
version: 2.3.15
|
115
115
|
type: :development
|
116
116
|
prerelease: false
|
117
117
|
version_requirements: *id009
|
118
118
|
- !ruby/object:Gem::Dependency
|
119
|
-
name:
|
119
|
+
name: yard
|
120
120
|
requirement: &id010 !ruby/object:Gem::Requirement
|
121
121
|
none: false
|
122
122
|
requirements:
|
123
|
-
- - "
|
123
|
+
- - ">="
|
124
124
|
- !ruby/object:Gem::Version
|
125
|
-
version:
|
125
|
+
version: 0.7.2
|
126
126
|
type: :development
|
127
127
|
prerelease: false
|
128
128
|
version_requirements: *id010
|
129
|
-
- !ruby/object:Gem::Dependency
|
130
|
-
name: rspec-mocks
|
131
|
-
requirement: &id011 !ruby/object:Gem::Requirement
|
132
|
-
none: false
|
133
|
-
requirements:
|
134
|
-
- - "="
|
135
|
-
- !ruby/object:Gem::Version
|
136
|
-
version: 2.5.0
|
137
|
-
type: :development
|
138
|
-
prerelease: false
|
139
|
-
version_requirements: *id011
|
140
|
-
- !ruby/object:Gem::Dependency
|
141
|
-
name: rcov
|
142
|
-
requirement: &id012 !ruby/object:Gem::Requirement
|
143
|
-
none: false
|
144
|
-
requirements:
|
145
|
-
- - "="
|
146
|
-
- !ruby/object:Gem::Version
|
147
|
-
version: 0.9.8
|
148
|
-
type: :development
|
149
|
-
prerelease: false
|
150
|
-
version_requirements: *id012
|
151
|
-
- !ruby/object:Gem::Dependency
|
152
|
-
name: cucumber
|
153
|
-
requirement: &id013 !ruby/object:Gem::Requirement
|
154
|
-
none: false
|
155
|
-
requirements:
|
156
|
-
- - "="
|
157
|
-
- !ruby/object:Gem::Version
|
158
|
-
version: 0.10.2
|
159
|
-
type: :development
|
160
|
-
prerelease: false
|
161
|
-
version_requirements: *id013
|
162
|
-
- !ruby/object:Gem::Dependency
|
163
|
-
name: will_paginate
|
164
|
-
requirement: &id014 !ruby/object:Gem::Requirement
|
165
|
-
none: false
|
166
|
-
requirements:
|
167
|
-
- - "="
|
168
|
-
- !ruby/object:Gem::Version
|
169
|
-
version: 2.3.15
|
170
|
-
type: :development
|
171
|
-
prerelease: false
|
172
|
-
version_requirements: *id014
|
173
|
-
- !ruby/object:Gem::Dependency
|
174
|
-
name: ginger
|
175
|
-
requirement: &id015 !ruby/object:Gem::Requirement
|
176
|
-
none: false
|
177
|
-
requirements:
|
178
|
-
- - "="
|
179
|
-
- !ruby/object:Gem::Version
|
180
|
-
version: 1.2.0
|
181
|
-
type: :development
|
182
|
-
prerelease: false
|
183
|
-
version_requirements: *id015
|
184
|
-
- !ruby/object:Gem::Dependency
|
185
|
-
name: faker
|
186
|
-
requirement: &id016 !ruby/object:Gem::Requirement
|
187
|
-
none: false
|
188
|
-
requirements:
|
189
|
-
- - "="
|
190
|
-
- !ruby/object:Gem::Version
|
191
|
-
version: 0.3.1
|
192
|
-
type: :development
|
193
|
-
prerelease: false
|
194
|
-
version_requirements: *id016
|
195
129
|
description: A concise and easy-to-use Ruby library that connects ActiveRecord to the Sphinx search daemon, managing configuration, indexing and searching.
|
196
|
-
email:
|
130
|
+
email:
|
131
|
+
- pat@freelancing-gods.com
|
197
132
|
executables: []
|
198
133
|
|
199
134
|
extensions: []
|
200
135
|
|
201
|
-
extra_rdoc_files:
|
202
|
-
|
136
|
+
extra_rdoc_files: []
|
137
|
+
|
203
138
|
files:
|
204
|
-
- LICENCE
|
205
|
-
- README.textile
|
206
|
-
- VERSION
|
207
139
|
- lib/cucumber/thinking_sphinx/external_world.rb
|
208
140
|
- lib/cucumber/thinking_sphinx/internal_world.rb
|
209
141
|
- lib/cucumber/thinking_sphinx/sql_logger.rb
|
@@ -246,10 +178,11 @@ files:
|
|
246
178
|
- lib/thinking_sphinx/source/sql.rb
|
247
179
|
- lib/thinking_sphinx/tasks.rb
|
248
180
|
- lib/thinking_sphinx/test.rb
|
181
|
+
- lib/thinking_sphinx/version.rb
|
249
182
|
- rails/init.rb
|
250
|
-
-
|
183
|
+
- LICENCE
|
184
|
+
- README.textile
|
251
185
|
- tasks/rails.rake
|
252
|
-
- tasks/testing.rb
|
253
186
|
- features/abstract_inheritance.feature
|
254
187
|
- features/alternate_primary_key.feature
|
255
188
|
- features/attribute_transformation.feature
|
@@ -283,6 +216,7 @@ files:
|
|
283
216
|
- features/support/env.rb
|
284
217
|
- features/support/lib/generic_delta_handler.rb
|
285
218
|
- features/thinking_sphinx/database.example.yml
|
219
|
+
- features/thinking_sphinx/db/.gitignore
|
286
220
|
- features/thinking_sphinx/db/fixtures/alphas.rb
|
287
221
|
- features/thinking_sphinx/db/fixtures/authors.rb
|
288
222
|
- features/thinking_sphinx/db/fixtures/betas.rb
|
@@ -297,6 +231,7 @@ files:
|
|
297
231
|
- features/thinking_sphinx/db/fixtures/gammas.rb
|
298
232
|
- features/thinking_sphinx/db/fixtures/music.rb
|
299
233
|
- features/thinking_sphinx/db/fixtures/people.rb
|
234
|
+
- features/thinking_sphinx/db/fixtures/post_keywords.txt
|
300
235
|
- features/thinking_sphinx/db/fixtures/posts.rb
|
301
236
|
- features/thinking_sphinx/db/fixtures/robots.rb
|
302
237
|
- features/thinking_sphinx/db/fixtures/tags.rb
|
@@ -340,6 +275,12 @@ files:
|
|
340
275
|
- features/thinking_sphinx/models/robot.rb
|
341
276
|
- features/thinking_sphinx/models/tag.rb
|
342
277
|
- features/thinking_sphinx/models/tagging.rb
|
278
|
+
- spec/fixtures/data.sql
|
279
|
+
- spec/fixtures/database.yml.default
|
280
|
+
- spec/fixtures/models.rb
|
281
|
+
- spec/fixtures/structure.sql
|
282
|
+
- spec/spec_helper.rb
|
283
|
+
- spec/sphinx_helper.rb
|
343
284
|
- spec/thinking_sphinx/active_record/delta_spec.rb
|
344
285
|
- spec/thinking_sphinx/active_record/has_many_association_spec.rb
|
345
286
|
- spec/thinking_sphinx/active_record/scopes_spec.rb
|
@@ -366,7 +307,7 @@ files:
|
|
366
307
|
- spec/thinking_sphinx/test_spec.rb
|
367
308
|
- spec/thinking_sphinx_spec.rb
|
368
309
|
has_rdoc: true
|
369
|
-
homepage: http://
|
310
|
+
homepage: http://freelancing-god.github.com/ts/en/
|
370
311
|
licenses: []
|
371
312
|
|
372
313
|
post_install_message: |+
|
@@ -382,7 +323,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
382
323
|
requirements:
|
383
324
|
- - ">="
|
384
325
|
- !ruby/object:Gem::Version
|
385
|
-
hash:
|
326
|
+
hash: 3481790220577304341
|
386
327
|
segments:
|
387
328
|
- 0
|
388
329
|
version: "0"
|
@@ -391,10 +332,13 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
391
332
|
requirements:
|
392
333
|
- - ">="
|
393
334
|
- !ruby/object:Gem::Version
|
335
|
+
hash: 3481790220577304341
|
336
|
+
segments:
|
337
|
+
- 0
|
394
338
|
version: "0"
|
395
339
|
requirements: []
|
396
340
|
|
397
|
-
rubyforge_project:
|
341
|
+
rubyforge_project: thinking-sphinx
|
398
342
|
rubygems_version: 1.6.2
|
399
343
|
signing_key:
|
400
344
|
specification_version: 3
|
@@ -433,6 +377,7 @@ test_files:
|
|
433
377
|
- features/support/env.rb
|
434
378
|
- features/support/lib/generic_delta_handler.rb
|
435
379
|
- features/thinking_sphinx/database.example.yml
|
380
|
+
- features/thinking_sphinx/db/.gitignore
|
436
381
|
- features/thinking_sphinx/db/fixtures/alphas.rb
|
437
382
|
- features/thinking_sphinx/db/fixtures/authors.rb
|
438
383
|
- features/thinking_sphinx/db/fixtures/betas.rb
|
@@ -447,6 +392,7 @@ test_files:
|
|
447
392
|
- features/thinking_sphinx/db/fixtures/gammas.rb
|
448
393
|
- features/thinking_sphinx/db/fixtures/music.rb
|
449
394
|
- features/thinking_sphinx/db/fixtures/people.rb
|
395
|
+
- features/thinking_sphinx/db/fixtures/post_keywords.txt
|
450
396
|
- features/thinking_sphinx/db/fixtures/posts.rb
|
451
397
|
- features/thinking_sphinx/db/fixtures/robots.rb
|
452
398
|
- features/thinking_sphinx/db/fixtures/tags.rb
|
@@ -490,6 +436,12 @@ test_files:
|
|
490
436
|
- features/thinking_sphinx/models/robot.rb
|
491
437
|
- features/thinking_sphinx/models/tag.rb
|
492
438
|
- features/thinking_sphinx/models/tagging.rb
|
439
|
+
- spec/fixtures/data.sql
|
440
|
+
- spec/fixtures/database.yml.default
|
441
|
+
- spec/fixtures/models.rb
|
442
|
+
- spec/fixtures/structure.sql
|
443
|
+
- spec/spec_helper.rb
|
444
|
+
- spec/sphinx_helper.rb
|
493
445
|
- spec/thinking_sphinx/active_record/delta_spec.rb
|
494
446
|
- spec/thinking_sphinx/active_record/has_many_association_spec.rb
|
495
447
|
- spec/thinking_sphinx/active_record/scopes_spec.rb
|
data/VERSION
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
1.4.6
|
data/tasks/distribution.rb
DELETED
@@ -1,34 +0,0 @@
|
|
1
|
-
desc 'Generate documentation'
|
2
|
-
YARD::Rake::YardocTask.new
|
3
|
-
|
4
|
-
Jeweler::Tasks.new do |gem|
|
5
|
-
gem.name = "thinking-sphinx"
|
6
|
-
gem.summary = "ActiveRecord/Rails Sphinx library"
|
7
|
-
gem.description = "A concise and easy-to-use Ruby library that connects ActiveRecord to the Sphinx search daemon, managing configuration, indexing and searching."
|
8
|
-
gem.author = "Pat Allan"
|
9
|
-
gem.email = "pat@freelancing-gods.com"
|
10
|
-
gem.homepage = "http://ts.freelancing-gods.com"
|
11
|
-
|
12
|
-
# s.rubyforge_project = "thinking-sphinx"
|
13
|
-
gem.files = FileList[
|
14
|
-
"rails/*.rb",
|
15
|
-
"lib/**/*.rb",
|
16
|
-
"LICENCE",
|
17
|
-
"README.textile",
|
18
|
-
"tasks/**/*.rb",
|
19
|
-
"tasks/**/*.rake",
|
20
|
-
"VERSION"
|
21
|
-
]
|
22
|
-
gem.test_files = FileList[
|
23
|
-
"features/**/*.rb",
|
24
|
-
"features/**/*.feature",
|
25
|
-
"features/**/*.example.yml",
|
26
|
-
"spec/**/*_spec.rb"
|
27
|
-
]
|
28
|
-
|
29
|
-
gem.post_install_message = <<-MESSAGE
|
30
|
-
If you're upgrading, you should read this:
|
31
|
-
http://freelancing-god.github.com/ts/en/upgrading.html
|
32
|
-
|
33
|
-
MESSAGE
|
34
|
-
end
|
data/tasks/testing.rb
DELETED
@@ -1,80 +0,0 @@
|
|
1
|
-
require 'rubygems'
|
2
|
-
require 'rspec/core/rake_task'
|
3
|
-
require 'cucumber/rake/task'
|
4
|
-
|
5
|
-
desc "Run the specs under spec"
|
6
|
-
RSpec::Core::RakeTask.new do |t|
|
7
|
-
t.pattern = 'spec/**/*_spec.rb'
|
8
|
-
end
|
9
|
-
|
10
|
-
desc "Run all feature-set configurations"
|
11
|
-
task :features do |t|
|
12
|
-
databases = ENV['DATABASES'] || 'mysql,postgresql'
|
13
|
-
databases.split(',').each do |database|
|
14
|
-
puts "rake features:#{database}"
|
15
|
-
system "rake features:#{database}"
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
namespace :features do
|
20
|
-
def add_task(name, description)
|
21
|
-
Cucumber::Rake::Task.new(name, description) do |t|
|
22
|
-
t.cucumber_opts = "--format pretty features/*.feature DATABASE=#{name}"
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
add_task :mysql, "Run feature-set against MySQL"
|
27
|
-
add_task :postgresql, "Run feature-set against PostgreSQL"
|
28
|
-
end
|
29
|
-
|
30
|
-
namespace :rcov do
|
31
|
-
desc "Generate RCov reports"
|
32
|
-
RSpec::Core::RakeTask.new(:rspec) do |t|
|
33
|
-
t.pattern = 'spec/**/*_spec.rb'
|
34
|
-
t.rcov = true
|
35
|
-
t.rcov_opts = [
|
36
|
-
'--exclude', 'spec',
|
37
|
-
'--exclude', 'gems',
|
38
|
-
'--exclude', 'riddle',
|
39
|
-
'--exclude', 'ruby',
|
40
|
-
'--aggregate coverage.data'
|
41
|
-
]
|
42
|
-
end
|
43
|
-
|
44
|
-
def add_task(name, description)
|
45
|
-
Cucumber::Rake::Task.new(name, description) do |t|
|
46
|
-
t.cucumber_opts = "--format pretty features/*.feature DATABASE=#{name}"
|
47
|
-
t.rcov = true
|
48
|
-
t.rcov_opts = [
|
49
|
-
'--exclude', 'spec',
|
50
|
-
'--exclude', 'gems',
|
51
|
-
'--exclude', 'riddle',
|
52
|
-
'--exclude', 'features',
|
53
|
-
'--aggregate coverage.data'
|
54
|
-
]
|
55
|
-
end
|
56
|
-
end
|
57
|
-
|
58
|
-
add_task :mysql, "Run feature-set against MySQL with rcov"
|
59
|
-
add_task :postgresql, "Run feature-set against PostgreSQL with rcov"
|
60
|
-
|
61
|
-
task :all do
|
62
|
-
rm 'coverage.data' if File.exist?('coverage.data')
|
63
|
-
rm 'rerun.txt' if File.exist?('rerun.txt')
|
64
|
-
|
65
|
-
Rake::Task['rcov:rspec'].invoke
|
66
|
-
Rake::Task['rcov:mysql'].invoke
|
67
|
-
Rake::Task['rcov:postgresql'].invoke
|
68
|
-
end
|
69
|
-
end
|
70
|
-
|
71
|
-
desc "Build cucumber.yml file"
|
72
|
-
task :cucumber_defaults do
|
73
|
-
steps = FileList["features/step_definitions/**.rb"].collect { |path|
|
74
|
-
"--require #{path}"
|
75
|
-
}.join(" ")
|
76
|
-
|
77
|
-
File.open('cucumber.yml', 'w') { |f|
|
78
|
-
f.write "default: \"--require features/support/env.rb #{steps}\"\n"
|
79
|
-
}
|
80
|
-
end
|