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 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
- api.post('start').success?
16
+ change 'starting', 'started'
17
17
  end
18
18
 
19
19
  def stop_sphinx
20
- api.post('stop').success?
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
- response = api.post 'indices', :indices => indices.join(',')
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
- config = FlyingSphinx::Configuration.new
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
- config.client_key
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
- ThinkingSphinx.database_adapter = FlyingSphinx::HerokuSharedAdapter
11
+ if ENV['DATABASE_URL'][/^mysql/].nil?
12
+ ThinkingSphinx.database_adapter = FlyingSphinx::HerokuSharedAdapter
13
+ end
12
14
  end
@@ -1,3 +1,3 @@
1
1
  module FlyingSphinx
2
- Version = '0.8.4'
2
+ Version = '0.8.5'
3
3
  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
- hash: 55
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
- date: 2012-09-22 00:00:00 Z
19
- dependencies:
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
- prerelease: false
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
- hash: 3
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
- requirement: &id002 !ruby/object:Gem::Requirement
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
- requirement: &id003 !ruby/object:Gem::Requirement
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
- requirement: &id004 !ruby/object:Gem::Requirement
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
- hash: 5
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
- requirement: &id005 !ruby/object:Gem::Requirement
72
+ version_requirements: !ruby/object:Gem::Requirement
85
73
  none: false
86
- requirements:
74
+ requirements:
87
75
  - - ~>
88
- - !ruby/object:Gem::Version
89
- hash: 19
90
- segments:
91
- - 0
92
- - 3
93
- - 0
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
- requirement: &id006 !ruby/object:Gem::Requirement
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
- requirement: &id007 !ruby/object:Gem::Requirement
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
- hash: 21
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
- requirement: &id008 !ruby/object:Gem::Requirement
120
+ version_requirements: !ruby/object:Gem::Requirement
132
121
  none: false
133
- requirements:
122
+ requirements:
134
123
  - - ~>
135
- - !ruby/object:Gem::Version
136
- hash: 19
137
- segments:
138
- - 1
139
- - 1
140
- - 0
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
- requirement: &id009 !ruby/object:Gem::Requirement
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
- requirement: &id010 !ruby/object:Gem::Requirement
152
+ version_requirements: !ruby/object:Gem::Requirement
164
153
  none: false
165
- requirements:
154
+ requirements:
166
155
  - - ~>
167
- - !ruby/object:Gem::Version
168
- hash: 27
169
- segments:
170
- - 1
171
- - 3
172
- - 0
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
- requirement: &id011 !ruby/object:Gem::Requirement
168
+ version_requirements: !ruby/object:Gem::Requirement
180
169
  none: false
181
- requirements:
170
+ requirements:
182
171
  - - ~>
183
- - !ruby/object:Gem::Version
184
- hash: 27
185
- segments:
186
- - 1
187
- - 2
188
- - 2
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
- requirement: &id012 !ruby/object:Gem::Requirement
184
+ version_requirements: !ruby/object:Gem::Requirement
196
185
  none: false
197
- requirements:
186
+ requirements:
198
187
  - - ~>
199
- - !ruby/object:Gem::Version
200
- hash: 3
201
- segments:
202
- - 2
203
- - 1
204
- - 4
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
- version_requirements: *id012
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
- post_install_message: |
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
- hash: 3
270
- segments:
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
- hash: 3
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.16
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: