flying-sphinx 0.8.4 → 0.8.5
Sign up to get free protection for your applications and to get access to all the features.
- 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:
|