flying-sphinx 0.6.0 → 0.6.1

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.6.1 - 4th November 2011
2
+ * Adding Riddle dependency requirement.
3
+ * Updating indexes (index plural) references to indices.
4
+ * Updating faraday_middleware version requirement, to play nicely with OmniAuth (Paolo Perrotta)
5
+
1
6
  0.6.0 - 31st July 2011
2
7
  * Version in a separate file.
3
8
  * Support for all file-based Sphinx settings: stopwords, wordforms, exceptions, and mysql ssl settings for SQL sources.
data/README.textile CHANGED
@@ -32,6 +32,7 @@ In the meantime, please keep in mind the following:
32
32
  h2. Contributors
33
33
 
34
34
  * "Josh Kalderimis":http://blog.cookiestack.com/ for switching the API calls to Faraday, improving the specs, a ton of debugging, and encouraging a versioned API.
35
+ * "Paolo Perrotta":http://ducktypo.blogspot.com/ for updating dependencies for faraday_middleware.
35
36
 
36
37
  h2. Licence
37
38
 
@@ -19,12 +19,12 @@ Gem::Specification.new do |s|
19
19
  s.rubygems_version = %q{1.3.7}
20
20
 
21
21
  s.add_runtime_dependency 'thinking-sphinx', ['>= 0']
22
+ s.add_runtime_dependency 'riddle', ['>= 1.5.0']
22
23
  s.add_runtime_dependency 'net-ssh', ['>= 2.0.23']
23
24
  s.add_runtime_dependency 'multi_json', ['~> 1.0.1']
24
- s.add_runtime_dependency 'faraday', ['~> 0.6.1']
25
- s.add_runtime_dependency 'faraday_middleware', ['~> 0.6.3']
25
+ s.add_runtime_dependency 'faraday_middleware', ['~> 0.7.0']
26
26
  s.add_runtime_dependency 'rash', ['~> 0.3.0']
27
-
27
+
28
28
  s.add_development_dependency 'rake', ['0.8.7']
29
29
  s.add_development_dependency 'yajl-ruby', ['~> 0.8.2']
30
30
  s.add_development_dependency 'rspec', ['~> 2.5.0']
@@ -32,7 +32,7 @@ Gem::Specification.new do |s|
32
32
  s.add_development_dependency 'fakeweb', ['~> 1.3.0']
33
33
  s.add_development_dependency 'fakeweb-matcher', ['~> 1.2.2']
34
34
  s.add_development_dependency 'delayed_job', ['~> 2.1.4']
35
-
35
+
36
36
  s.post_install_message = <<-MESSAGE
37
37
  If you're upgrading, you should rebuild your Sphinx setup when deploying:
38
38
 
@@ -1,6 +1,6 @@
1
1
  class FlyingSphinx::Configuration
2
2
  attr_reader :identifier, :api_key, :host, :port, :database_port, :mem_limit
3
-
3
+
4
4
  FileIndexSettings = [:stopwords, :wordforms, :exceptions]
5
5
  FileSourceSettings = [:mysql_ssl_cert, :mysql_ssl_key, :mysql_ssl_ca]
6
6
  FileSettings = FileIndexSettings + FileSourceSettings
@@ -24,7 +24,7 @@ class FlyingSphinx::Configuration
24
24
 
25
25
  riddle.render
26
26
  end
27
-
27
+
28
28
  def file_setting_pairs(setting)
29
29
  @file_setting_pairs ||= {}
30
30
  @file_setting_pairs[setting] ||= begin
@@ -43,7 +43,7 @@ class FlyingSphinx::Configuration
43
43
  def stop_sphinx
44
44
  api.post('stop')
45
45
  end
46
-
46
+
47
47
  def client_key
48
48
  "#{identifier}:#{api_key}"
49
49
  end
@@ -53,7 +53,7 @@ class FlyingSphinx::Configuration
53
53
  puts "#{action.created_at} #{action.name}"
54
54
  end
55
55
  end
56
-
56
+
57
57
  private
58
58
 
59
59
  def set_from_server
@@ -106,7 +106,7 @@ class FlyingSphinx::Configuration
106
106
  def set_searchd_settings
107
107
  thinking_sphinx.port = port
108
108
  thinking_sphinx.address = host
109
-
109
+
110
110
  if riddle.searchd.respond_to?(:client_key)
111
111
  riddle.searchd.client_key = client_key
112
112
  end
@@ -118,8 +118,8 @@ class FlyingSphinx::Configuration
118
118
 
119
119
  def set_database_settings
120
120
  return unless FlyingSphinx::Tunnel.required?
121
-
122
- riddle.indexes.each do |index|
121
+
122
+ riddle.indices.each do |index|
123
123
  next unless index.respond_to?(:sources)
124
124
 
125
125
  index.sources.each do |source|
@@ -128,19 +128,19 @@ class FlyingSphinx::Configuration
128
128
  end
129
129
  end
130
130
  end
131
-
131
+
132
132
  def set_file_settings
133
- riddle.indexes.each do |index|
133
+ riddle.indices.each do |index|
134
134
  set_file_settings_for index, FileIndexSettings
135
-
135
+
136
136
  next unless index.respond_to?(:sources)
137
-
137
+
138
138
  index.sources.each do |source|
139
139
  set_file_settings_for source, FileSourceSettings
140
140
  end
141
141
  end
142
142
  end
143
-
143
+
144
144
  def set_file_settings_for(object, settings)
145
145
  settings.each do |setting|
146
146
  next unless object.respond_to?(setting)
@@ -148,14 +148,14 @@ class FlyingSphinx::Configuration
148
148
  file_setting_pairs(setting)[object.send(setting)]
149
149
  end
150
150
  end
151
-
151
+
152
152
  def file_setting_sources(setting)
153
153
  @file_setting_sources ||= {}
154
- @file_setting_sources[setting] ||= riddle.indexes.collect { |index|
154
+ @file_setting_sources[setting] ||= riddle.indices.collect { |index|
155
155
  file_settings_for_index(index, setting)
156
156
  }.flatten.compact.uniq
157
157
  end
158
-
158
+
159
159
  def file_settings_for_index(index, setting)
160
160
  settings = Array(file_setting_for(index, setting))
161
161
  settings += index.sources.collect { |source|
@@ -163,11 +163,11 @@ class FlyingSphinx::Configuration
163
163
  } if index.respond_to?(:sources)
164
164
  settings
165
165
  end
166
-
166
+
167
167
  def file_setting_for(object, setting)
168
168
  object.respond_to?(setting) ? object.send(setting) : nil
169
169
  end
170
-
170
+
171
171
  def identifier_from_env
172
172
  ENV['FLYING_SPHINX_IDENTIFIER']
173
173
  end
@@ -175,11 +175,11 @@ class FlyingSphinx::Configuration
175
175
  def api_key_from_env
176
176
  ENV['FLYING_SPHINX_API_KEY']
177
177
  end
178
-
178
+
179
179
  def host_from_env
180
180
  ENV['FLYING_SPHINX_HOST']
181
181
  end
182
-
182
+
183
183
  def port_from_env
184
184
  ENV['FLYING_SPHINX_PORT']
185
185
  end
@@ -1,3 +1,3 @@
1
1
  module FlyingSphinx
2
- Version = '0.6.0'
2
+ Version = '0.6.1'
3
3
  end
@@ -3,7 +3,7 @@ require 'multi_json'
3
3
 
4
4
  describe FlyingSphinx::Configuration do
5
5
  let(:api_server) { 'https://flying-sphinx.com/api/my' }
6
-
6
+
7
7
  before :each do
8
8
  FakeWeb.register_uri(:get, "#{api_server}/app",
9
9
  :body => MultiJson.encode(
@@ -13,67 +13,67 @@ describe FlyingSphinx::Configuration do
13
13
  )
14
14
  )
15
15
  end
16
-
16
+
17
17
  describe '#initialize' do
18
18
  let(:api_key) { 'foo-bar-baz' }
19
19
  let(:identifier) { 'app@heroku.com' }
20
20
  let(:config) { FlyingSphinx::Configuration.new identifier, api_key }
21
-
21
+
22
22
  it "requests details from the server with the given API key" do
23
23
  config
24
24
  FakeWeb.should have_requested :get, "#{api_server}/app"
25
25
  end
26
-
26
+
27
27
  it "sets the host from the server information" do
28
28
  config.host.should == 'foo.bar.com'
29
29
  end
30
-
30
+
31
31
  it "sets the port from the server information" do
32
32
  config.port.should == 9319
33
33
  end
34
-
34
+
35
35
  it "sets the port from the server information" do
36
36
  config.database_port.should == 10001
37
37
  end
38
38
  end
39
-
39
+
40
40
  describe '#file_setting_pairs' do
41
41
  let(:config) { FlyingSphinx::Configuration.new 'ident' }
42
42
  let(:riddle) { ThinkingSphinx::Configuration.instance.configuration }
43
43
  let(:base_path) { '/mnt/sphinx/flying-sphinx/ident' }
44
-
44
+
45
45
  context 'index setting' do
46
46
  it "pairs each local file path to a server file path" do
47
- riddle.stub! :indexes => [
47
+ riddle.stub! :indices => [
48
48
  double('index', :wordforms => '/path/to/wordforms-foo.txt',
49
49
  :sources => [double('source'), double('source')]),
50
50
  double('index', :wordforms => '/path/to/wordforms-bar.txt',
51
51
  :sources => [double('source'), double('source')])
52
52
  ]
53
-
53
+
54
54
  config.file_setting_pairs(:wordforms).should == {
55
55
  '/path/to/wordforms-foo.txt' => "#{base_path}/wordforms/0.txt",
56
56
  '/path/to/wordforms-bar.txt' => "#{base_path}/wordforms/1.txt"
57
57
  }
58
58
  end
59
-
59
+
60
60
  it "doesn't duplicate multiple references to the same local file" do
61
- riddle.stub! :indexes => [
61
+ riddle.stub! :indices => [
62
62
  double('index', :wordforms => '/path/to/wordforms-foo.txt',
63
63
  :sources => [double('source'), double('source')]),
64
64
  double('index', :wordforms => '/path/to/wordforms-foo.txt',
65
65
  :sources => [double('source'), double('source')])
66
66
  ]
67
-
67
+
68
68
  config.file_setting_pairs(:wordforms).should == {
69
69
  '/path/to/wordforms-foo.txt' => "#{base_path}/wordforms/0.txt"
70
70
  }
71
71
  end
72
72
  end
73
-
73
+
74
74
  context 'source setting' do
75
75
  it "pairs each local file path to a server file path" do
76
- riddle.stub! :indexes => [
76
+ riddle.stub! :indices => [
77
77
  double('index', :sources => [
78
78
  double('source', :mysql_ssl_cert => '/path/to/cert-foo.txt'),
79
79
  double('source', :mysql_ssl_cert => '/path/to/cert-bar.txt')
@@ -83,16 +83,16 @@ describe FlyingSphinx::Configuration do
83
83
  double('source', :mysql_ssl_cert => nil)
84
84
  ])
85
85
  ]
86
-
86
+
87
87
  config.file_setting_pairs(:mysql_ssl_cert).should == {
88
88
  '/path/to/cert-foo.txt' => "#{base_path}/mysql_ssl_cert/0.txt",
89
89
  '/path/to/cert-bar.txt' => "#{base_path}/mysql_ssl_cert/1.txt",
90
90
  '/path/to/cert-baz.txt' => "#{base_path}/mysql_ssl_cert/2.txt"
91
91
  }
92
92
  end
93
-
93
+
94
94
  it "doesn't duplicate multiple references to the same local file" do
95
- riddle.stub! :indexes => [
95
+ riddle.stub! :indices => [
96
96
  double('index', :sources => [
97
97
  double('source', :mysql_ssl_cert => '/path/to/cert-foo.txt'),
98
98
  double('source', :mysql_ssl_cert => '/path/to/cert-bar.txt')
@@ -102,7 +102,7 @@ describe FlyingSphinx::Configuration do
102
102
  double('source', :mysql_ssl_cert => nil)
103
103
  ])
104
104
  ]
105
-
105
+
106
106
  config.file_setting_pairs(:mysql_ssl_cert).should == {
107
107
  '/path/to/cert-foo.txt' => "#{base_path}/mysql_ssl_cert/0.txt",
108
108
  '/path/to/cert-bar.txt' => "#{base_path}/mysql_ssl_cert/1.txt"
@@ -110,13 +110,13 @@ describe FlyingSphinx::Configuration do
110
110
  end
111
111
  end
112
112
  end
113
-
113
+
114
114
  describe '#sphinx_configuration' do
115
115
  let(:config) { FlyingSphinx::Configuration.new 'ident' }
116
116
  let(:riddle) { double('riddle configuration').as_null_object }
117
117
  let(:base_path) { '/mnt/sphinx/flying-sphinx/ident' }
118
118
  let(:source) { double('source') }
119
-
119
+
120
120
  before :each do
121
121
  ThinkingSphinx::Configuration.instance.stub!(
122
122
  :generate => nil,
@@ -124,40 +124,40 @@ describe FlyingSphinx::Configuration do
124
124
  )
125
125
  FlyingSphinx::Tunnel.stub! :required? => false
126
126
  end
127
-
127
+
128
128
  it "sets database settings to match Flying Sphinx port forward" do
129
129
  FlyingSphinx::Tunnel.stub! :required? => true
130
-
131
- riddle.stub! :indexes => [
130
+
131
+ riddle.stub! :indices => [
132
132
  double('distributed index'),
133
133
  double('index', :sources => [source])
134
134
  ]
135
-
135
+
136
136
  source.should_receive(:sql_host=).with('127.0.0.1')
137
137
  source.should_receive(:sql_port=).with(10001)
138
-
138
+
139
139
  config.sphinx_configuration
140
140
  end
141
-
141
+
142
142
  it "sets file path to match server directories for index settings" do
143
- riddle.stub! :indexes => [
143
+ riddle.stub! :indices => [
144
144
  double('index', :wordforms => '/path/to/wordforms-foo.txt',
145
145
  :sources => [double('source'), double('source')]),
146
146
  double('index', :wordforms => '/path/to/wordforms-bar.txt',
147
147
  :sources => [double('source'), double('source')]),
148
148
  double('distributed index')
149
149
  ]
150
-
151
- riddle.indexes[0].should_receive(:wordforms=).
150
+
151
+ riddle.indices[0].should_receive(:wordforms=).
152
152
  with("#{base_path}/wordforms/0.txt")
153
- riddle.indexes[1].should_receive(:wordforms=).
153
+ riddle.indices[1].should_receive(:wordforms=).
154
154
  with("#{base_path}/wordforms/1.txt")
155
-
155
+
156
156
  config.sphinx_configuration
157
157
  end
158
-
158
+
159
159
  it "sets file path to match server directories for source settings" do
160
- riddle.stub! :indexes => [
160
+ riddle.stub! :indices => [
161
161
  double('index', :sources => [
162
162
  double('source', :mysql_ssl_cert => '/path/to/cert-foo.txt'),
163
163
  double('source', :mysql_ssl_cert => '/path/to/cert-bar.txt')
@@ -168,16 +168,16 @@ describe FlyingSphinx::Configuration do
168
168
  ]),
169
169
  double('distributed index')
170
170
  ]
171
-
172
- riddle.indexes[0].sources[0].should_receive(:mysql_ssl_cert=).
171
+
172
+ riddle.indices[0].sources[0].should_receive(:mysql_ssl_cert=).
173
173
  with("#{base_path}/mysql_ssl_cert/0.txt")
174
- riddle.indexes[0].sources[1].should_receive(:mysql_ssl_cert=).
174
+ riddle.indices[0].sources[1].should_receive(:mysql_ssl_cert=).
175
175
  with("#{base_path}/mysql_ssl_cert/1.txt")
176
- riddle.indexes[1].sources[0].should_receive(:mysql_ssl_cert=).
176
+ riddle.indices[1].sources[0].should_receive(:mysql_ssl_cert=).
177
177
  with("#{base_path}/mysql_ssl_cert/2.txt")
178
- riddle.indexes[1].sources[1].should_receive(:mysql_ssl_cert=).
178
+ riddle.indices[1].sources[1].should_receive(:mysql_ssl_cert=).
179
179
  with(nil)
180
-
180
+
181
181
  config.sphinx_configuration
182
182
  end
183
183
  end
metadata CHANGED
@@ -1,8 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: flying-sphinx
3
3
  version: !ruby/object:Gem::Version
4
+ hash: 5
4
5
  prerelease:
5
- version: 0.6.0
6
+ segments:
7
+ - 0
8
+ - 6
9
+ - 1
10
+ version: 0.6.1
6
11
  platform: ruby
7
12
  authors:
8
13
  - Pat Allan
@@ -10,152 +15,215 @@ autorequire:
10
15
  bindir: bin
11
16
  cert_chain: []
12
17
 
13
- date: 2011-07-31 00:00:00 +10:00
18
+ date: 2011-11-04 00:00:00 +02:00
14
19
  default_executable:
15
20
  dependencies:
16
21
  - !ruby/object:Gem::Dependency
17
22
  name: thinking-sphinx
18
- prerelease: false
19
- requirement: &id001 !ruby/object:Gem::Requirement
23
+ version_requirements: &id001 !ruby/object:Gem::Requirement
20
24
  none: false
21
25
  requirements:
22
26
  - - ">="
23
27
  - !ruby/object:Gem::Version
28
+ hash: 3
29
+ segments:
30
+ - 0
24
31
  version: "0"
25
32
  type: :runtime
26
- version_requirements: *id001
27
- - !ruby/object:Gem::Dependency
28
- name: net-ssh
29
33
  prerelease: false
30
- requirement: &id002 !ruby/object:Gem::Requirement
34
+ requirement: *id001
35
+ - !ruby/object:Gem::Dependency
36
+ name: riddle
37
+ version_requirements: &id002 !ruby/object:Gem::Requirement
31
38
  none: false
32
39
  requirements:
33
40
  - - ">="
34
41
  - !ruby/object:Gem::Version
35
- version: 2.0.23
42
+ hash: 3
43
+ segments:
44
+ - 1
45
+ - 5
46
+ - 0
47
+ version: 1.5.0
36
48
  type: :runtime
37
- version_requirements: *id002
38
- - !ruby/object:Gem::Dependency
39
- name: multi_json
40
49
  prerelease: false
41
- requirement: &id003 !ruby/object:Gem::Requirement
50
+ requirement: *id002
51
+ - !ruby/object:Gem::Dependency
52
+ name: net-ssh
53
+ version_requirements: &id003 !ruby/object:Gem::Requirement
42
54
  none: false
43
55
  requirements:
44
- - - ~>
56
+ - - ">="
45
57
  - !ruby/object:Gem::Version
46
- version: 1.0.1
58
+ hash: 33
59
+ segments:
60
+ - 2
61
+ - 0
62
+ - 23
63
+ version: 2.0.23
47
64
  type: :runtime
48
- version_requirements: *id003
49
- - !ruby/object:Gem::Dependency
50
- name: faraday
51
65
  prerelease: false
52
- requirement: &id004 !ruby/object:Gem::Requirement
66
+ requirement: *id003
67
+ - !ruby/object:Gem::Dependency
68
+ name: multi_json
69
+ version_requirements: &id004 !ruby/object:Gem::Requirement
53
70
  none: false
54
71
  requirements:
55
72
  - - ~>
56
73
  - !ruby/object:Gem::Version
57
- version: 0.6.1
74
+ hash: 21
75
+ segments:
76
+ - 1
77
+ - 0
78
+ - 1
79
+ version: 1.0.1
58
80
  type: :runtime
59
- version_requirements: *id004
81
+ prerelease: false
82
+ requirement: *id004
60
83
  - !ruby/object:Gem::Dependency
61
84
  name: faraday_middleware
62
- prerelease: false
63
- requirement: &id005 !ruby/object:Gem::Requirement
85
+ version_requirements: &id005 !ruby/object:Gem::Requirement
64
86
  none: false
65
87
  requirements:
66
88
  - - ~>
67
89
  - !ruby/object:Gem::Version
68
- version: 0.6.3
90
+ hash: 3
91
+ segments:
92
+ - 0
93
+ - 7
94
+ - 0
95
+ version: 0.7.0
69
96
  type: :runtime
70
- version_requirements: *id005
97
+ prerelease: false
98
+ requirement: *id005
71
99
  - !ruby/object:Gem::Dependency
72
100
  name: rash
73
- prerelease: false
74
- requirement: &id006 !ruby/object:Gem::Requirement
101
+ version_requirements: &id006 !ruby/object:Gem::Requirement
75
102
  none: false
76
103
  requirements:
77
104
  - - ~>
78
105
  - !ruby/object:Gem::Version
106
+ hash: 19
107
+ segments:
108
+ - 0
109
+ - 3
110
+ - 0
79
111
  version: 0.3.0
80
112
  type: :runtime
81
- version_requirements: *id006
113
+ prerelease: false
114
+ requirement: *id006
82
115
  - !ruby/object:Gem::Dependency
83
116
  name: rake
84
- prerelease: false
85
- requirement: &id007 !ruby/object:Gem::Requirement
117
+ version_requirements: &id007 !ruby/object:Gem::Requirement
86
118
  none: false
87
119
  requirements:
88
120
  - - "="
89
121
  - !ruby/object:Gem::Version
122
+ hash: 49
123
+ segments:
124
+ - 0
125
+ - 8
126
+ - 7
90
127
  version: 0.8.7
91
128
  type: :development
92
- version_requirements: *id007
129
+ prerelease: false
130
+ requirement: *id007
93
131
  - !ruby/object:Gem::Dependency
94
132
  name: yajl-ruby
95
- prerelease: false
96
- requirement: &id008 !ruby/object:Gem::Requirement
133
+ version_requirements: &id008 !ruby/object:Gem::Requirement
97
134
  none: false
98
135
  requirements:
99
136
  - - ~>
100
137
  - !ruby/object:Gem::Version
138
+ hash: 59
139
+ segments:
140
+ - 0
141
+ - 8
142
+ - 2
101
143
  version: 0.8.2
102
144
  type: :development
103
- version_requirements: *id008
145
+ prerelease: false
146
+ requirement: *id008
104
147
  - !ruby/object:Gem::Dependency
105
148
  name: rspec
106
- prerelease: false
107
- requirement: &id009 !ruby/object:Gem::Requirement
149
+ version_requirements: &id009 !ruby/object:Gem::Requirement
108
150
  none: false
109
151
  requirements:
110
152
  - - ~>
111
153
  - !ruby/object:Gem::Version
154
+ hash: 27
155
+ segments:
156
+ - 2
157
+ - 5
158
+ - 0
112
159
  version: 2.5.0
113
160
  type: :development
114
- version_requirements: *id009
161
+ prerelease: false
162
+ requirement: *id009
115
163
  - !ruby/object:Gem::Dependency
116
164
  name: rcov
117
- prerelease: false
118
- requirement: &id010 !ruby/object:Gem::Requirement
165
+ version_requirements: &id010 !ruby/object:Gem::Requirement
119
166
  none: false
120
167
  requirements:
121
168
  - - ~>
122
169
  - !ruby/object:Gem::Version
170
+ hash: 41
171
+ segments:
172
+ - 0
173
+ - 9
174
+ - 9
123
175
  version: 0.9.9
124
176
  type: :development
125
- version_requirements: *id010
177
+ prerelease: false
178
+ requirement: *id010
126
179
  - !ruby/object:Gem::Dependency
127
180
  name: fakeweb
128
- prerelease: false
129
- requirement: &id011 !ruby/object:Gem::Requirement
181
+ version_requirements: &id011 !ruby/object:Gem::Requirement
130
182
  none: false
131
183
  requirements:
132
184
  - - ~>
133
185
  - !ruby/object:Gem::Version
186
+ hash: 27
187
+ segments:
188
+ - 1
189
+ - 3
190
+ - 0
134
191
  version: 1.3.0
135
192
  type: :development
136
- version_requirements: *id011
193
+ prerelease: false
194
+ requirement: *id011
137
195
  - !ruby/object:Gem::Dependency
138
196
  name: fakeweb-matcher
139
- prerelease: false
140
- requirement: &id012 !ruby/object:Gem::Requirement
197
+ version_requirements: &id012 !ruby/object:Gem::Requirement
141
198
  none: false
142
199
  requirements:
143
200
  - - ~>
144
201
  - !ruby/object:Gem::Version
202
+ hash: 27
203
+ segments:
204
+ - 1
205
+ - 2
206
+ - 2
145
207
  version: 1.2.2
146
208
  type: :development
147
- version_requirements: *id012
209
+ prerelease: false
210
+ requirement: *id012
148
211
  - !ruby/object:Gem::Dependency
149
212
  name: delayed_job
150
- prerelease: false
151
- requirement: &id013 !ruby/object:Gem::Requirement
213
+ version_requirements: &id013 !ruby/object:Gem::Requirement
152
214
  none: false
153
215
  requirements:
154
216
  - - ~>
155
217
  - !ruby/object:Gem::Version
218
+ hash: 3
219
+ segments:
220
+ - 2
221
+ - 1
222
+ - 4
156
223
  version: 2.1.4
157
224
  type: :development
158
- version_requirements: *id013
225
+ prerelease: false
226
+ requirement: *id013
159
227
  description: Hooks Thinking Sphinx into the Flying Sphinx service
160
228
  email: pat@freelancing-gods.com
161
229
  executables: []
@@ -211,17 +279,23 @@ required_ruby_version: !ruby/object:Gem::Requirement
211
279
  requirements:
212
280
  - - ">="
213
281
  - !ruby/object:Gem::Version
282
+ hash: 3
283
+ segments:
284
+ - 0
214
285
  version: "0"
215
286
  required_rubygems_version: !ruby/object:Gem::Requirement
216
287
  none: false
217
288
  requirements:
218
289
  - - ">="
219
290
  - !ruby/object:Gem::Version
291
+ hash: 3
292
+ segments:
293
+ - 0
220
294
  version: "0"
221
295
  requirements: []
222
296
 
223
297
  rubyforge_project:
224
- rubygems_version: 1.6.2
298
+ rubygems_version: 1.4.2
225
299
  signing_key:
226
300
  specification_version: 3
227
301
  summary: Sphinx in the Cloud