flying-sphinx 0.5.0 → 0.5.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,7 +1,7 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
  Gem::Specification.new do |s|
3
3
  s.name = 'flying-sphinx'
4
- s.version = '0.5.0'
4
+ s.version = '0.5.1'
5
5
  s.authors = ['Pat Allan']
6
6
  s.email = 'pat@freelancing-gods.com'
7
7
  s.date = '2011-05-12'
@@ -17,12 +17,13 @@ Gem::Specification.new do |s|
17
17
  s.rubygems_version = %q{1.3.7}
18
18
 
19
19
  s.add_runtime_dependency 'thinking-sphinx', ['>= 0']
20
- s.add_runtime_dependency 'net-ssh', ['~> 2.0.23']
20
+ s.add_runtime_dependency 'net-ssh', ['>= 2.0.23']
21
21
  s.add_runtime_dependency 'multi_json', ['~> 1.0.1']
22
22
  s.add_runtime_dependency 'faraday', ['~> 0.6.1']
23
23
  s.add_runtime_dependency 'faraday_middleware', ['~> 0.6.3']
24
24
  s.add_runtime_dependency 'rash', ['~> 0.3.0']
25
25
 
26
+ s.add_development_dependency 'rake', ['0.8.7']
26
27
  s.add_development_dependency 'yajl-ruby', ['~> 0.8.2']
27
28
  s.add_development_dependency 'rspec', ['~> 2.5.0']
28
29
  s.add_development_dependency 'rcov', ['~> 0.9.9']
@@ -69,7 +69,7 @@ class FlyingSphinx::API
69
69
 
70
70
  puts "API Request: #{method} '#{path}'; params: #{data.inspect}"
71
71
  response = block.call
72
- puts "API Response: #{response.body.to_hash.inspect}"
72
+ puts "API Response: #{response.body.inspect}"
73
73
  return response
74
74
  end
75
75
 
@@ -12,6 +12,10 @@ class FlyingSphinx::DelayedDelta < ThinkingSphinx::Deltas::DefaultDelta
12
12
  def self.enqueue(object, priority = 0)
13
13
  return if duplicates_exist? object
14
14
 
15
+ enqueue_without_duplicates_check object, priority
16
+ end
17
+
18
+ def self.enqueue_without_duplicates_check(object, priority = 0)
15
19
  if defined?(Rails) && Rails.version.to_i <= 2
16
20
  ::Delayed::Job.enqueue(object, priority)
17
21
  else
@@ -55,11 +59,11 @@ class FlyingSphinx::DelayedDelta < ThinkingSphinx::Deltas::DefaultDelta
55
59
  delayed_job_priority
56
60
  )
57
61
 
58
- Delayed::Job.enqueue(
62
+ self.class.enqueue_without_duplicates_check(
59
63
  FlyingSphinx::FlagAsDeletedJob.new(
60
64
  model.core_index_names, instance.sphinx_document_id
61
65
  ),
62
- :priority => delayed_job_priority
66
+ delayed_job_priority
63
67
  ) if instance
64
68
 
65
69
  true
@@ -34,6 +34,8 @@ class FlyingSphinx::IndexRequest
34
34
  end
35
35
 
36
36
  def status_message
37
+ raise "Index Request failed to start. Something's not right!" if @index_id.nil?
38
+
37
39
  status = request_status
38
40
  case status
39
41
  when 'FINISHED'
@@ -0,0 +1,12 @@
1
+ require 'flying_sphinx'
2
+
3
+ config = FlyingSphinx::Configuration.new
4
+
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
9
+
10
+ if ENV['DATABASE_URL'][/^mysql/].nil?
11
+ ThinkingSphinx.database_adapter = FlyingSphinx::HerokuSharedAdapter
12
+ end
@@ -37,7 +37,7 @@ class FlyingSphinx::Tunnel
37
37
  end
38
38
 
39
39
  def db_port
40
- db_config[:port]
40
+ db_config[:port] || 5432
41
41
  end
42
42
 
43
43
  def db_config
@@ -137,6 +137,8 @@ describe FlyingSphinx::IndexRequest do
137
137
 
138
138
  before :each do
139
139
  api.stub(:post => index_response)
140
+
141
+ index_request.instance_variable_set :@index_id, 42
140
142
  end
141
143
 
142
144
  it "returns with a positive message on success" do
@@ -162,6 +164,14 @@ describe FlyingSphinx::IndexRequest do
162
164
 
163
165
  index_request.status_message.should == "Unknown index response: 'UNKNOWN'."
164
166
  end
167
+
168
+ it "raises a warning if the index id isn't set" do
169
+ index_request.instance_variable_set :@index_id, nil
170
+
171
+ lambda {
172
+ index_request.status_message
173
+ }.should raise_error
174
+ end
165
175
  end
166
176
 
167
177
  describe "#display_name" do
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: flying-sphinx
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.5.0
5
+ version: 0.5.1
6
6
  platform: ruby
7
7
  authors:
8
8
  - Pat Allan
@@ -30,7 +30,7 @@ dependencies:
30
30
  requirement: &id002 !ruby/object:Gem::Requirement
31
31
  none: false
32
32
  requirements:
33
- - - ~>
33
+ - - ">="
34
34
  - !ruby/object:Gem::Version
35
35
  version: 2.0.23
36
36
  type: :runtime
@@ -80,71 +80,82 @@ dependencies:
80
80
  type: :runtime
81
81
  version_requirements: *id006
82
82
  - !ruby/object:Gem::Dependency
83
- name: yajl-ruby
83
+ name: rake
84
84
  prerelease: false
85
85
  requirement: &id007 !ruby/object:Gem::Requirement
86
+ none: false
87
+ requirements:
88
+ - - "="
89
+ - !ruby/object:Gem::Version
90
+ version: 0.8.7
91
+ type: :development
92
+ version_requirements: *id007
93
+ - !ruby/object:Gem::Dependency
94
+ name: yajl-ruby
95
+ prerelease: false
96
+ requirement: &id008 !ruby/object:Gem::Requirement
86
97
  none: false
87
98
  requirements:
88
99
  - - ~>
89
100
  - !ruby/object:Gem::Version
90
101
  version: 0.8.2
91
102
  type: :development
92
- version_requirements: *id007
103
+ version_requirements: *id008
93
104
  - !ruby/object:Gem::Dependency
94
105
  name: rspec
95
106
  prerelease: false
96
- requirement: &id008 !ruby/object:Gem::Requirement
107
+ requirement: &id009 !ruby/object:Gem::Requirement
97
108
  none: false
98
109
  requirements:
99
110
  - - ~>
100
111
  - !ruby/object:Gem::Version
101
112
  version: 2.5.0
102
113
  type: :development
103
- version_requirements: *id008
114
+ version_requirements: *id009
104
115
  - !ruby/object:Gem::Dependency
105
116
  name: rcov
106
117
  prerelease: false
107
- requirement: &id009 !ruby/object:Gem::Requirement
118
+ requirement: &id010 !ruby/object:Gem::Requirement
108
119
  none: false
109
120
  requirements:
110
121
  - - ~>
111
122
  - !ruby/object:Gem::Version
112
123
  version: 0.9.9
113
124
  type: :development
114
- version_requirements: *id009
125
+ version_requirements: *id010
115
126
  - !ruby/object:Gem::Dependency
116
127
  name: fakeweb
117
128
  prerelease: false
118
- requirement: &id010 !ruby/object:Gem::Requirement
129
+ requirement: &id011 !ruby/object:Gem::Requirement
119
130
  none: false
120
131
  requirements:
121
132
  - - ~>
122
133
  - !ruby/object:Gem::Version
123
134
  version: 1.3.0
124
135
  type: :development
125
- version_requirements: *id010
136
+ version_requirements: *id011
126
137
  - !ruby/object:Gem::Dependency
127
138
  name: fakeweb-matcher
128
139
  prerelease: false
129
- requirement: &id011 !ruby/object:Gem::Requirement
140
+ requirement: &id012 !ruby/object:Gem::Requirement
130
141
  none: false
131
142
  requirements:
132
143
  - - ~>
133
144
  - !ruby/object:Gem::Version
134
145
  version: 1.2.2
135
146
  type: :development
136
- version_requirements: *id011
147
+ version_requirements: *id012
137
148
  - !ruby/object:Gem::Dependency
138
149
  name: delayed_job
139
150
  prerelease: false
140
- requirement: &id012 !ruby/object:Gem::Requirement
151
+ requirement: &id013 !ruby/object:Gem::Requirement
141
152
  none: false
142
153
  requirements:
143
154
  - - ~>
144
155
  - !ruby/object:Gem::Version
145
156
  version: 2.1.4
146
157
  type: :development
147
- version_requirements: *id012
158
+ version_requirements: *id013
148
159
  description: Hooks Thinking Sphinx into the Flying Sphinx service
149
160
  email: pat@freelancing-gods.com
150
161
  executables: []
@@ -159,7 +170,6 @@ files:
159
170
  - LICENCE
160
171
  - README.textile
161
172
  - Rakefile
162
- - VERSION
163
173
  - flying-sphinx.gemspec
164
174
  - keys/key
165
175
  - lib/flying-sphinx.rb
@@ -172,6 +182,7 @@ files:
172
182
  - lib/flying_sphinx/index_request.rb
173
183
  - lib/flying_sphinx/rails.rb
174
184
  - lib/flying_sphinx/railtie.rb
185
+ - lib/flying_sphinx/sinatra.rb
175
186
  - lib/flying_sphinx/tasks.rb
176
187
  - lib/flying_sphinx/tunnel.rb
177
188
  - spec/spec_helper.rb
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 0.5.0