DrMark-thinking-sphinx 1.2.5 → 1.2.6
Sign up to get free protection for your applications and to get access to all the features.
- data/README.textile +1 -0
- data/VERSION.yml +1 -1
- data/lib/thinking_sphinx/configuration.rb +3 -1
- data/lib/thinking_sphinx/search.rb +19 -1
- data/lib/thinking_sphinx/tasks.rb +8 -5
- data/spec/lib/thinking_sphinx/search_spec.rb +25 -0
- metadata +2 -2
data/README.textile
CHANGED
data/VERSION.yml
CHANGED
@@ -157,7 +157,9 @@ module ThinkingSphinx
|
|
157
157
|
# messy dependencies issues).
|
158
158
|
#
|
159
159
|
def load_models
|
160
|
-
return if defined?(Rails) &&
|
160
|
+
return if defined?(Rails) &&
|
161
|
+
Rails.configuration.cache_classes &&
|
162
|
+
Rails::VERSION::STRING.to_f > 2.1
|
161
163
|
|
162
164
|
self.model_directories.each do |base|
|
163
165
|
Dir["#{base}**/*.rb"].each do |file|
|
@@ -25,7 +25,7 @@ module ThinkingSphinx
|
|
25
25
|
HashOptions = [:conditions, :with, :without, :with_all]
|
26
26
|
ArrayOptions = [:classes, :without_ids]
|
27
27
|
|
28
|
-
attr_reader :args, :options
|
28
|
+
attr_reader :args, :options
|
29
29
|
|
30
30
|
# Deprecated. Use ThinkingSphinx.search
|
31
31
|
def self.search(*args)
|
@@ -68,6 +68,24 @@ module ThinkingSphinx
|
|
68
68
|
@array
|
69
69
|
end
|
70
70
|
|
71
|
+
# Indication of whether the request has been made to Sphinx for the search
|
72
|
+
# query.
|
73
|
+
#
|
74
|
+
# @return [Boolean] true if the results have been requested.
|
75
|
+
#
|
76
|
+
def populated?
|
77
|
+
!!@populated
|
78
|
+
end
|
79
|
+
|
80
|
+
# The query result hash from Riddle.
|
81
|
+
#
|
82
|
+
# @return [Hash] Raw Sphinx results
|
83
|
+
#
|
84
|
+
def results
|
85
|
+
populate
|
86
|
+
@results
|
87
|
+
end
|
88
|
+
|
71
89
|
def method_missing(method, *args, &block)
|
72
90
|
if is_scope?(method)
|
73
91
|
add_scope(method, *args, &block)
|
@@ -43,11 +43,14 @@ namespace :thinking_sphinx do
|
|
43
43
|
|
44
44
|
desc "Stop Sphinx using Thinking Sphinx's settings"
|
45
45
|
task :stop => :app_env do
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
46
|
+
unless sphinx_running?
|
47
|
+
puts "searchd is not running"
|
48
|
+
else
|
49
|
+
config = ThinkingSphinx::Configuration.instance
|
50
|
+
pid = sphinx_pid
|
51
|
+
system! "#{config.bin_path}#{config.searchd_binary_name} --stop --config \"#{config.config_file}\""
|
52
|
+
puts "Stopped search daemon (pid #{pid})."
|
53
|
+
end
|
51
54
|
end
|
52
55
|
|
53
56
|
desc "Restart Sphinx"
|
@@ -32,6 +32,31 @@ describe ThinkingSphinx::Search do
|
|
32
32
|
end
|
33
33
|
end
|
34
34
|
|
35
|
+
describe '#populated?' do
|
36
|
+
before :each do
|
37
|
+
@search = ThinkingSphinx::Search.new
|
38
|
+
end
|
39
|
+
|
40
|
+
it "should be false if the client request has not been made" do
|
41
|
+
@search.populated?.should be_false
|
42
|
+
end
|
43
|
+
|
44
|
+
it "should be true once the client request has been made" do
|
45
|
+
@search.first
|
46
|
+
@search.populated?.should be_true
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
describe '#results' do
|
51
|
+
it "should populate search results before returning" do
|
52
|
+
@search = ThinkingSphinx::Search.new
|
53
|
+
@search.populated?.should be_false
|
54
|
+
|
55
|
+
@search.results
|
56
|
+
@search.populated?.should be_true
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
35
60
|
describe '#method_missing' do
|
36
61
|
before :each do
|
37
62
|
Alpha.sphinx_scope(:by_name) { |name|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: DrMark-thinking-sphinx
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pat Allan
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-08-
|
12
|
+
date: 2009-08-08 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|