flying-sphinx 0.8.4 → 0.8.5
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/HISTORY +5 -0
- data/lib/flying_sphinx/configuration.rb +16 -4
- data/lib/flying_sphinx/delayed_delta.rb +1 -1
- data/lib/flying_sphinx/index_request.rb +8 -4
- data/lib/flying_sphinx/sinatra.rb +9 -7
- data/lib/flying_sphinx/version.rb +1 -1
- data/spec/specs/delayed_delta_spec.rb +37 -36
- data/spec/specs/index_request_spec.rb +17 -0
- metadata +162 -178
data/HISTORY
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
0.8.5 - 10th December 2012
|
2
|
+
* Daemon actions (start/stop) are now asynchronous.
|
3
|
+
* More forgiving when environment variables aren't around. Particularly helpful for Padrino and Sinatra.
|
4
|
+
* Make delta indexing jobs asynchronous - no need to wait for the result. Also, with the different URL, flying-sphinx.com will not queue up duplicate delta jobs within the last 20 minutes if there's a indexing job still pending.
|
5
|
+
|
1
6
|
0.8.4 - 22nd September 2012
|
2
7
|
* Load the Delta class when loading Rails.
|
3
8
|
|
@@ -13,11 +13,11 @@ class FlyingSphinx::Configuration
|
|
13
13
|
end
|
14
14
|
|
15
15
|
def start_sphinx
|
16
|
-
|
16
|
+
change 'starting', 'started'
|
17
17
|
end
|
18
18
|
|
19
19
|
def stop_sphinx
|
20
|
-
|
20
|
+
change 'stopping', 'stopped'
|
21
21
|
end
|
22
22
|
|
23
23
|
def client_key
|
@@ -33,6 +33,18 @@ class FlyingSphinx::Configuration
|
|
33
33
|
private
|
34
34
|
|
35
35
|
attr_reader :identifier, :api_key
|
36
|
+
|
37
|
+
def change(initial, expected)
|
38
|
+
api.post(initial)
|
39
|
+
|
40
|
+
response = api.get('daemon')
|
41
|
+
while response.body.status == initial
|
42
|
+
sleep 0.5
|
43
|
+
response = api.get('daemon')
|
44
|
+
end
|
45
|
+
|
46
|
+
response.body.status == expected
|
47
|
+
end
|
36
48
|
|
37
49
|
def set_from_server
|
38
50
|
response = api.get '/'
|
@@ -58,10 +70,10 @@ class FlyingSphinx::Configuration
|
|
58
70
|
end
|
59
71
|
|
60
72
|
def host_from_env
|
61
|
-
(ENV['STAGED_SPHINX_HOST'] || ENV['FLYING_SPHINX_HOST']).dup
|
73
|
+
(ENV['STAGED_SPHINX_HOST'] || ENV['FLYING_SPHINX_HOST'] || '').dup
|
62
74
|
end
|
63
75
|
|
64
76
|
def port_from_env
|
65
|
-
(ENV['STAGED_SPHINX_PORT'] || ENV['FLYING_SPHINX_PORT']).dup
|
77
|
+
(ENV['STAGED_SPHINX_PORT'] || ENV['FLYING_SPHINX_PORT'] || 9306).dup
|
66
78
|
end
|
67
79
|
end
|
@@ -55,7 +55,7 @@ class FlyingSphinx::DelayedDelta < ThinkingSphinx::Deltas::DefaultDelta
|
|
55
55
|
return true if skip? instance
|
56
56
|
|
57
57
|
self.class.enqueue(
|
58
|
-
FlyingSphinx::IndexRequest.new(model.delta_index_names),
|
58
|
+
FlyingSphinx::IndexRequest.new(model.delta_index_names, true),
|
59
59
|
delayed_job_priority
|
60
60
|
)
|
61
61
|
|
@@ -1,5 +1,5 @@
|
|
1
1
|
class FlyingSphinx::IndexRequest
|
2
|
-
attr_reader :index_id, :indices
|
2
|
+
attr_reader :index_id, :indices, :async
|
3
3
|
|
4
4
|
INDEX_COMPLETE_CHECKING_INTERVAL = 3
|
5
5
|
|
@@ -18,8 +18,8 @@ class FlyingSphinx::IndexRequest
|
|
18
18
|
puts "Index Log:\n#{index.log}"
|
19
19
|
end
|
20
20
|
|
21
|
-
def initialize(indices = [])
|
22
|
-
@indices = indices
|
21
|
+
def initialize(indices = [], async = false)
|
22
|
+
@indices, @async = indices, async
|
23
23
|
end
|
24
24
|
|
25
25
|
# Shows index name in Delayed::Job#name.
|
@@ -30,6 +30,8 @@ class FlyingSphinx::IndexRequest
|
|
30
30
|
|
31
31
|
def index
|
32
32
|
begin_request
|
33
|
+
return if async
|
34
|
+
|
33
35
|
while !request_complete?
|
34
36
|
sleep 3
|
35
37
|
end
|
@@ -68,7 +70,9 @@ class FlyingSphinx::IndexRequest
|
|
68
70
|
end
|
69
71
|
|
70
72
|
def begin_request
|
71
|
-
|
73
|
+
path = 'indices'
|
74
|
+
path << '/unique' if async
|
75
|
+
response = api.post path, :indices => indices.join(',')
|
72
76
|
|
73
77
|
@index_id = response.body.id
|
74
78
|
@request_begun = true
|
@@ -1,12 +1,14 @@
|
|
1
1
|
require 'flying_sphinx'
|
2
2
|
|
3
|
-
|
3
|
+
if ENV['FLYING_SPHINX_IDENTIFIER'] || ENV['STAGED_SPHINX_IDENTIFIER']
|
4
|
+
config = FlyingSphinx::Configuration.new
|
4
5
|
|
5
|
-
ThinkingSphinx::Configuration.instance.address = config.host
|
6
|
-
ThinkingSphinx::Configuration.instance.port = config.port
|
7
|
-
ThinkingSphinx::Configuration.instance.configuration.searchd.client_key =
|
8
|
-
|
6
|
+
ThinkingSphinx::Configuration.instance.address = config.host
|
7
|
+
ThinkingSphinx::Configuration.instance.port = config.port
|
8
|
+
ThinkingSphinx::Configuration.instance.configuration.searchd.client_key =
|
9
|
+
config.client_key
|
9
10
|
|
10
|
-
if ENV['DATABASE_URL'][/^mysql/].nil?
|
11
|
-
|
11
|
+
if ENV['DATABASE_URL'][/^mysql/].nil?
|
12
|
+
ThinkingSphinx.database_adapter = FlyingSphinx::HerokuSharedAdapter
|
13
|
+
end
|
12
14
|
end
|
@@ -5,21 +5,21 @@ describe FlyingSphinx::DelayedDelta do
|
|
5
5
|
before :each do
|
6
6
|
Delayed::Job.stub!(:count => 0)
|
7
7
|
end
|
8
|
-
|
8
|
+
|
9
9
|
it "should enqueue if there's no existing jobs for the same index" do
|
10
10
|
Delayed::Job.should_receive(:enqueue)
|
11
|
-
|
11
|
+
|
12
12
|
FlyingSphinx::DelayedDelta.enqueue(stub('object'))
|
13
13
|
end
|
14
|
-
|
14
|
+
|
15
15
|
it "should not enqueue the job if there's an existing job already" do
|
16
16
|
Delayed::Job.stub!(:count => 1)
|
17
17
|
Delayed::Job.should_not_receive(:enqueue)
|
18
|
-
|
18
|
+
|
19
19
|
FlyingSphinx::DelayedDelta.enqueue(stub('object'))
|
20
20
|
end
|
21
21
|
end
|
22
|
-
|
22
|
+
|
23
23
|
describe '#index' do
|
24
24
|
let(:config) { ThinkingSphinx::Configuration.instance }
|
25
25
|
let(:delayed_delta) { FlyingSphinx::DelayedDelta.new stub('instance'), {} }
|
@@ -30,116 +30,117 @@ describe FlyingSphinx::DelayedDelta do
|
|
30
30
|
:delta_index_names => ['foo_delta']
|
31
31
|
}
|
32
32
|
let(:instance) { stub('instance', :sphinx_document_id => 42) }
|
33
|
-
|
33
|
+
|
34
34
|
before :each do
|
35
35
|
ThinkingSphinx.updates_enabled = true
|
36
36
|
ThinkingSphinx.deltas_enabled = true
|
37
|
-
|
37
|
+
|
38
38
|
config.delayed_job_priority = 2
|
39
|
-
|
39
|
+
|
40
40
|
FlyingSphinx::DelayedDelta.stub!(:enqueue => true)
|
41
41
|
Delayed::Job.stub!(:enqueue => true, :inspect => 'Delayed::Job')
|
42
|
-
|
42
|
+
|
43
43
|
delayed_delta.stub!(:toggled => true)
|
44
44
|
end
|
45
|
-
|
45
|
+
|
46
46
|
context 'updates disabled' do
|
47
47
|
before :each do
|
48
48
|
ThinkingSphinx.updates_enabled = false
|
49
49
|
end
|
50
|
-
|
50
|
+
|
51
51
|
it "should not enqueue a delta job" do
|
52
52
|
FlyingSphinx::DelayedDelta.should_not_receive(:enqueue)
|
53
|
-
|
53
|
+
|
54
54
|
delayed_delta.index model
|
55
55
|
end
|
56
|
-
|
56
|
+
|
57
57
|
it "should not enqueue a flag as deleted job" do
|
58
58
|
Delayed::Job.should_not_receive(:enqueue)
|
59
|
-
|
59
|
+
|
60
60
|
delayed_delta.index model
|
61
61
|
end
|
62
62
|
end
|
63
|
-
|
63
|
+
|
64
64
|
context 'deltas disabled' do
|
65
65
|
before :each do
|
66
66
|
ThinkingSphinx.deltas_enabled = false
|
67
67
|
end
|
68
|
-
|
68
|
+
|
69
69
|
it "should not enqueue a delta job" do
|
70
70
|
FlyingSphinx::DelayedDelta.should_not_receive(:enqueue)
|
71
|
-
|
71
|
+
|
72
72
|
delayed_delta.index model
|
73
73
|
end
|
74
|
-
|
74
|
+
|
75
75
|
it "should not enqueue a flag as deleted job" do
|
76
76
|
Delayed::Job.should_not_receive(:enqueue)
|
77
|
-
|
77
|
+
|
78
78
|
delayed_delta.index model
|
79
79
|
end
|
80
80
|
end
|
81
|
-
|
81
|
+
|
82
82
|
context "instance isn't toggled" do
|
83
83
|
before :each do
|
84
84
|
delayed_delta.stub!(:toggled => false)
|
85
85
|
end
|
86
|
-
|
86
|
+
|
87
87
|
it "should not enqueue a delta job" do
|
88
88
|
FlyingSphinx::DelayedDelta.should_not_receive(:enqueue)
|
89
|
-
|
89
|
+
|
90
90
|
delayed_delta.index model, instance
|
91
91
|
end
|
92
|
-
|
92
|
+
|
93
93
|
it "should not enqueue a flag as deleted job" do
|
94
94
|
Delayed::Job.should_not_receive(:enqueue)
|
95
|
-
|
95
|
+
|
96
96
|
delayed_delta.index model, instance
|
97
97
|
end
|
98
98
|
end
|
99
|
-
|
99
|
+
|
100
100
|
it "should enqueue a delta job for the appropriate indexes" do
|
101
101
|
FlyingSphinx::DelayedDelta.should_receive(:enqueue) do |job, priority|
|
102
102
|
job.indices.should == ['foo_delta']
|
103
|
+
job.async.should be_true
|
103
104
|
end
|
104
|
-
|
105
|
+
|
105
106
|
delayed_delta.index model
|
106
107
|
end
|
107
|
-
|
108
|
+
|
108
109
|
it "should use the defined priority for the delta job" do
|
109
110
|
FlyingSphinx::DelayedDelta.should_receive(:enqueue) do |job, priority|
|
110
111
|
priority.should == 2
|
111
112
|
end
|
112
|
-
|
113
|
+
|
113
114
|
delayed_delta.index model
|
114
115
|
end
|
115
|
-
|
116
|
+
|
116
117
|
it "should enqueue a flag-as-deleted job for the appropriate indexes" do
|
117
118
|
Delayed::Job.should_receive(:enqueue) do |job, options|
|
118
119
|
job.indices.should == ['foo_core']
|
119
120
|
end
|
120
|
-
|
121
|
+
|
121
122
|
delayed_delta.index model, instance
|
122
123
|
end
|
123
|
-
|
124
|
+
|
124
125
|
it "should enqueue a flag-as-deleted job for the appropriate id" do
|
125
126
|
Delayed::Job.should_receive(:enqueue) do |job, options|
|
126
127
|
job.document_id.should == 42
|
127
128
|
end
|
128
|
-
|
129
|
+
|
129
130
|
delayed_delta.index model, instance
|
130
131
|
end
|
131
|
-
|
132
|
+
|
132
133
|
it "should use the defined priority for the flag-as-deleted job" do
|
133
134
|
Delayed::Job.should_receive(:enqueue) do |job, options|
|
134
135
|
options[:priority].should == 2
|
135
136
|
end
|
136
|
-
|
137
|
+
|
137
138
|
delayed_delta.index model, instance
|
138
139
|
end
|
139
|
-
|
140
|
+
|
140
141
|
it "should not enqueue a flag-as-deleted job if no instance is provided" do
|
141
142
|
Delayed::Job.should_not_receive(:enqueue)
|
142
|
-
|
143
|
+
|
143
144
|
delayed_delta.index model
|
144
145
|
end
|
145
146
|
end
|
@@ -86,6 +86,23 @@ describe FlyingSphinx::IndexRequest do
|
|
86
86
|
}.should raise_error(RuntimeError, 'Your account does not support delta indexing. Upgrading plans is probably the best way around this.')
|
87
87
|
end
|
88
88
|
end
|
89
|
+
|
90
|
+
context 'asynchronous' do
|
91
|
+
let(:index_request) { FlyingSphinx::IndexRequest.new [], true }
|
92
|
+
|
93
|
+
it "makes a new request" do
|
94
|
+
api.should_receive(:post).
|
95
|
+
with('indices/unique', index_params).and_return(index_response)
|
96
|
+
|
97
|
+
index_request.index
|
98
|
+
end
|
99
|
+
|
100
|
+
it "does not check the status" do
|
101
|
+
api.should_not_receive(:get)
|
102
|
+
|
103
|
+
index_request.index
|
104
|
+
end
|
105
|
+
end
|
89
106
|
end
|
90
107
|
|
91
108
|
describe '#status_message' do
|
metadata
CHANGED
@@ -1,219 +1,216 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: flying-sphinx
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.8.5
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 8
|
9
|
-
- 4
|
10
|
-
version: 0.8.4
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Pat Allan
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2012-12-10 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
21
15
|
name: thinking-sphinx
|
22
|
-
|
23
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
24
17
|
none: false
|
25
|
-
requirements:
|
26
|
-
- -
|
27
|
-
- !ruby/object:Gem::Version
|
28
|
-
|
29
|
-
segments:
|
30
|
-
- 0
|
31
|
-
version: "0"
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
32
22
|
type: :runtime
|
33
|
-
version_requirements: *id001
|
34
|
-
- !ruby/object:Gem::Dependency
|
35
|
-
name: riddle
|
36
23
|
prerelease: false
|
37
|
-
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: riddle
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
38
33
|
none: false
|
39
|
-
requirements:
|
40
|
-
- -
|
41
|
-
- !ruby/object:Gem::Version
|
42
|
-
hash: 3
|
43
|
-
segments:
|
44
|
-
- 1
|
45
|
-
- 5
|
46
|
-
- 0
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
47
37
|
version: 1.5.0
|
48
38
|
type: :runtime
|
49
|
-
version_requirements: *id002
|
50
|
-
- !ruby/object:Gem::Dependency
|
51
|
-
name: multi_json
|
52
39
|
prerelease: false
|
53
|
-
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: 1.5.0
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: multi_json
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
54
49
|
none: false
|
55
|
-
requirements:
|
56
|
-
- -
|
57
|
-
- !ruby/object:Gem::Version
|
58
|
-
hash: 21
|
59
|
-
segments:
|
60
|
-
- 1
|
61
|
-
- 0
|
62
|
-
- 1
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
63
53
|
version: 1.0.1
|
64
54
|
type: :runtime
|
65
|
-
version_requirements: *id003
|
66
|
-
- !ruby/object:Gem::Dependency
|
67
|
-
name: faraday_middleware
|
68
55
|
prerelease: false
|
69
|
-
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
70
57
|
none: false
|
71
|
-
requirements:
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 1.0.1
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: faraday_middleware
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
72
67
|
- - ~>
|
73
|
-
- !ruby/object:Gem::Version
|
74
|
-
|
75
|
-
segments:
|
76
|
-
- 0
|
77
|
-
- 7
|
78
|
-
version: "0.7"
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0.7'
|
79
70
|
type: :runtime
|
80
|
-
version_requirements: *id004
|
81
|
-
- !ruby/object:Gem::Dependency
|
82
|
-
name: rash
|
83
71
|
prerelease: false
|
84
|
-
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
85
73
|
none: false
|
86
|
-
requirements:
|
74
|
+
requirements:
|
87
75
|
- - ~>
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0.7'
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
name: rash
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
82
|
+
requirements:
|
83
|
+
- - ~>
|
84
|
+
- !ruby/object:Gem::Version
|
94
85
|
version: 0.3.0
|
95
86
|
type: :runtime
|
96
|
-
version_requirements: *id005
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: rake
|
99
87
|
prerelease: false
|
100
|
-
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ~>
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: 0.3.0
|
94
|
+
- !ruby/object:Gem::Dependency
|
95
|
+
name: rake
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
101
97
|
none: false
|
102
|
-
requirements:
|
98
|
+
requirements:
|
103
99
|
- - ~>
|
104
|
-
- !ruby/object:Gem::Version
|
105
|
-
hash: 63
|
106
|
-
segments:
|
107
|
-
- 0
|
108
|
-
- 9
|
109
|
-
- 2
|
100
|
+
- !ruby/object:Gem::Version
|
110
101
|
version: 0.9.2
|
111
102
|
type: :development
|
112
|
-
version_requirements: *id006
|
113
|
-
- !ruby/object:Gem::Dependency
|
114
|
-
name: rspec
|
115
103
|
prerelease: false
|
116
|
-
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ~>
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: 0.9.2
|
110
|
+
- !ruby/object:Gem::Dependency
|
111
|
+
name: rspec
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
117
113
|
none: false
|
118
|
-
requirements:
|
114
|
+
requirements:
|
119
115
|
- - ~>
|
120
|
-
- !ruby/object:Gem::Version
|
121
|
-
|
122
|
-
segments:
|
123
|
-
- 2
|
124
|
-
- 11
|
125
|
-
version: "2.11"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '2.11'
|
126
118
|
type: :development
|
127
|
-
version_requirements: *id007
|
128
|
-
- !ruby/object:Gem::Dependency
|
129
|
-
name: rspec-fire
|
130
119
|
prerelease: false
|
131
|
-
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
132
121
|
none: false
|
133
|
-
requirements:
|
122
|
+
requirements:
|
134
123
|
- - ~>
|
135
|
-
- !ruby/object:Gem::Version
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '2.11'
|
126
|
+
- !ruby/object:Gem::Dependency
|
127
|
+
name: rspec-fire
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
129
|
+
none: false
|
130
|
+
requirements:
|
131
|
+
- - ~>
|
132
|
+
- !ruby/object:Gem::Version
|
141
133
|
version: 1.1.0
|
142
134
|
type: :development
|
143
|
-
version_requirements: *id008
|
144
|
-
- !ruby/object:Gem::Dependency
|
145
|
-
name: yajl-ruby
|
146
135
|
prerelease: false
|
147
|
-
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
138
|
+
requirements:
|
139
|
+
- - ~>
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: 1.1.0
|
142
|
+
- !ruby/object:Gem::Dependency
|
143
|
+
name: yajl-ruby
|
144
|
+
requirement: !ruby/object:Gem::Requirement
|
148
145
|
none: false
|
149
|
-
requirements:
|
146
|
+
requirements:
|
150
147
|
- - ~>
|
151
|
-
- !ruby/object:Gem::Version
|
152
|
-
hash: 59
|
153
|
-
segments:
|
154
|
-
- 0
|
155
|
-
- 8
|
156
|
-
- 2
|
148
|
+
- !ruby/object:Gem::Version
|
157
149
|
version: 0.8.2
|
158
150
|
type: :development
|
159
|
-
version_requirements: *id009
|
160
|
-
- !ruby/object:Gem::Dependency
|
161
|
-
name: fakeweb
|
162
151
|
prerelease: false
|
163
|
-
|
152
|
+
version_requirements: !ruby/object:Gem::Requirement
|
164
153
|
none: false
|
165
|
-
requirements:
|
154
|
+
requirements:
|
166
155
|
- - ~>
|
167
|
-
- !ruby/object:Gem::Version
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
156
|
+
- !ruby/object:Gem::Version
|
157
|
+
version: 0.8.2
|
158
|
+
- !ruby/object:Gem::Dependency
|
159
|
+
name: fakeweb
|
160
|
+
requirement: !ruby/object:Gem::Requirement
|
161
|
+
none: false
|
162
|
+
requirements:
|
163
|
+
- - ~>
|
164
|
+
- !ruby/object:Gem::Version
|
173
165
|
version: 1.3.0
|
174
166
|
type: :development
|
175
|
-
version_requirements: *id010
|
176
|
-
- !ruby/object:Gem::Dependency
|
177
|
-
name: fakeweb-matcher
|
178
167
|
prerelease: false
|
179
|
-
|
168
|
+
version_requirements: !ruby/object:Gem::Requirement
|
180
169
|
none: false
|
181
|
-
requirements:
|
170
|
+
requirements:
|
182
171
|
- - ~>
|
183
|
-
- !ruby/object:Gem::Version
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: 1.3.0
|
174
|
+
- !ruby/object:Gem::Dependency
|
175
|
+
name: fakeweb-matcher
|
176
|
+
requirement: !ruby/object:Gem::Requirement
|
177
|
+
none: false
|
178
|
+
requirements:
|
179
|
+
- - ~>
|
180
|
+
- !ruby/object:Gem::Version
|
189
181
|
version: 1.2.2
|
190
182
|
type: :development
|
191
|
-
version_requirements: *id011
|
192
|
-
- !ruby/object:Gem::Dependency
|
193
|
-
name: delayed_job
|
194
183
|
prerelease: false
|
195
|
-
|
184
|
+
version_requirements: !ruby/object:Gem::Requirement
|
196
185
|
none: false
|
197
|
-
requirements:
|
186
|
+
requirements:
|
198
187
|
- - ~>
|
199
|
-
- !ruby/object:Gem::Version
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
188
|
+
- !ruby/object:Gem::Version
|
189
|
+
version: 1.2.2
|
190
|
+
- !ruby/object:Gem::Dependency
|
191
|
+
name: delayed_job
|
192
|
+
requirement: !ruby/object:Gem::Requirement
|
193
|
+
none: false
|
194
|
+
requirements:
|
195
|
+
- - ~>
|
196
|
+
- !ruby/object:Gem::Version
|
205
197
|
version: 2.1.4
|
206
198
|
type: :development
|
207
|
-
|
199
|
+
prerelease: false
|
200
|
+
version_requirements: !ruby/object:Gem::Requirement
|
201
|
+
none: false
|
202
|
+
requirements:
|
203
|
+
- - ~>
|
204
|
+
- !ruby/object:Gem::Version
|
205
|
+
version: 2.1.4
|
208
206
|
description: Hooks Thinking Sphinx into the Flying Sphinx service
|
209
207
|
email: pat@freelancing-gods.com
|
210
|
-
executables:
|
208
|
+
executables:
|
211
209
|
- flying-sphinx
|
212
210
|
extensions: []
|
213
|
-
|
214
|
-
extra_rdoc_files:
|
211
|
+
extra_rdoc_files:
|
215
212
|
- README.textile
|
216
|
-
files:
|
213
|
+
files:
|
217
214
|
- .gitignore
|
218
215
|
- .travis.yml
|
219
216
|
- Gemfile
|
@@ -251,42 +248,30 @@ files:
|
|
251
248
|
- spec/specs/sphinx_configuration_spec.rb
|
252
249
|
homepage: https://flying-sphinx.com
|
253
250
|
licenses: []
|
254
|
-
|
255
|
-
|
256
|
-
If you're upgrading, you should rebuild your Sphinx setup when deploying:
|
257
|
-
|
258
|
-
$ heroku rake fs:rebuild
|
259
|
-
|
251
|
+
post_install_message: ! "If you're upgrading, you should rebuild your Sphinx setup
|
252
|
+
when deploying:\n\n $ heroku rake fs:rebuild\n"
|
260
253
|
rdoc_options: []
|
261
|
-
|
262
|
-
require_paths:
|
254
|
+
require_paths:
|
263
255
|
- lib
|
264
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
256
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
265
257
|
none: false
|
266
|
-
requirements:
|
267
|
-
- -
|
268
|
-
- !ruby/object:Gem::Version
|
269
|
-
|
270
|
-
|
271
|
-
- 0
|
272
|
-
version: "0"
|
273
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
258
|
+
requirements:
|
259
|
+
- - ! '>='
|
260
|
+
- !ruby/object:Gem::Version
|
261
|
+
version: '0'
|
262
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
274
263
|
none: false
|
275
|
-
requirements:
|
276
|
-
- -
|
277
|
-
- !ruby/object:Gem::Version
|
278
|
-
|
279
|
-
segments:
|
280
|
-
- 0
|
281
|
-
version: "0"
|
264
|
+
requirements:
|
265
|
+
- - ! '>='
|
266
|
+
- !ruby/object:Gem::Version
|
267
|
+
version: '0'
|
282
268
|
requirements: []
|
283
|
-
|
284
269
|
rubyforge_project:
|
285
|
-
rubygems_version: 1.8.
|
270
|
+
rubygems_version: 1.8.23
|
286
271
|
signing_key:
|
287
272
|
specification_version: 3
|
288
273
|
summary: Sphinx in the Cloud
|
289
|
-
test_files:
|
274
|
+
test_files:
|
290
275
|
- spec/light_spec_helper.rb
|
291
276
|
- spec/spec_helper.rb
|
292
277
|
- spec/specs/api_spec.rb
|
@@ -296,4 +281,3 @@ test_files:
|
|
296
281
|
- spec/specs/index_request_spec.rb
|
297
282
|
- spec/specs/setting_files_spec.rb
|
298
283
|
- spec/specs/sphinx_configuration_spec.rb
|
299
|
-
has_rdoc:
|