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 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: