sunspot_rails 0.10.7 → 0.10.8

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION.yml CHANGED
@@ -1,4 +1,4 @@
1
1
  ---
2
2
  :major: 0
3
3
  :minor: 10
4
- :patch: 7
4
+ :patch: 8
@@ -1,5 +1,4 @@
1
1
  begin
2
- gem 'technicalpickles-jeweler', '~> 1.0'
3
2
  require 'jeweler'
4
3
  Jeweler::Tasks.new do |s|
5
4
  s.name = 'sunspot_rails'
@@ -38,5 +37,5 @@ end
38
37
 
39
38
  namespace :release do
40
39
  desc "Release gem to RubyForge and GitHub"
41
- task :all => [:"rubyforge:release:gem", :"gemcutter:release"]
40
+ task :all => [:release, :"rubyforge:release:gem", :"gemcutter:release"]
42
41
  end
@@ -9,7 +9,7 @@ module Sunspot #:nodoc:
9
9
  class <<self
10
10
  def included(base) #:nodoc:
11
11
  base.after_filter do
12
- Sunspot::Rails.session.commit_if_dirty if Sunspot::Rails.configuration.auto_commit_after_request?
12
+ Sunspot.commit_if_dirty if Sunspot::Rails.configuration.auto_commit_after_request?
13
13
  end
14
14
  end
15
15
  end
@@ -104,7 +104,7 @@ module Sunspot #:nodoc:
104
104
  # Sunspot::Search:: Object containing results, totals, facets, etc.
105
105
  #
106
106
  def search(&block)
107
- Sunspot::Rails.session.search(self, &block)
107
+ Sunspot.search(self, &block)
108
108
  end
109
109
 
110
110
  #
@@ -125,7 +125,7 @@ module Sunspot #:nodoc:
125
125
  # Remove instances of this class from the Solr index.
126
126
  #
127
127
  def remove_all_from_index
128
- Sunspot::Rails.session.remove_all(self)
128
+ Sunspot.remove_all(self)
129
129
  end
130
130
 
131
131
  #
@@ -136,8 +136,8 @@ module Sunspot #:nodoc:
136
136
  # XXX Sunspot should implement remove_all!()
137
137
  #
138
138
  def remove_all_from_index!
139
- remove_all_from_index
140
- Sunspot::Rails.session.commit
139
+ Sunspot.remove_all(self)
140
+ Sunspot.commit
141
141
  end
142
142
 
143
143
  #
@@ -180,20 +180,20 @@ module Sunspot #:nodoc:
180
180
  options = { :batch_size => 500, :batch_commit => true, :include => []}.merge(opts)
181
181
  remove_all_from_index
182
182
  unless options[:batch_size]
183
- Sunspot::Rails.session.index!(all(:include => options[:include]))
183
+ Sunspot.index!(all(:include => options[:include]))
184
184
  else
185
185
  record_count = count
186
186
  counter = 1
187
187
  offset = 0
188
188
  while(offset < record_count)
189
189
  benchmark options[:batch_size], counter do
190
- Sunspot::Rails.session.index(all(:include => options[:include], :offset => offset, :limit => options[:batch_size], :order => primary_key))
190
+ Sunspot.index(all(:include => options[:include], :offset => offset, :limit => options[:batch_size], :order => primary_key))
191
191
  end
192
- Sunspot::Rails.session.commit if options[:batch_commit]
192
+ Sunspot.commit if options[:batch_commit]
193
193
  offset += options[:batch_size]
194
194
  counter += 1
195
195
  end
196
- Sunspot::Rails.session.commit unless options[:batch_commit]
196
+ Sunspot.commit unless options[:batch_commit]
197
197
  end
198
198
  end
199
199
 
@@ -267,14 +267,14 @@ module Sunspot #:nodoc:
267
267
  # manually.
268
268
  #
269
269
  def index
270
- Sunspot::Rails.session.index(self)
270
+ Sunspot.index(self)
271
271
  end
272
272
 
273
273
  #
274
274
  # Index the model in Solr and immediately commit. See #index
275
275
  #
276
276
  def index!
277
- Sunspot::Rails.session.index!(self)
277
+ Sunspot.index!(self)
278
278
  end
279
279
 
280
280
  #
@@ -285,15 +285,19 @@ module Sunspot #:nodoc:
285
285
  # manually.
286
286
  #
287
287
  def remove_from_index
288
- Sunspot::Rails.session.remove(self)
288
+ Sunspot.remove(self)
289
289
  end
290
290
 
291
291
  #
292
292
  # Remove the model from the Solr index and commit immediately. See
293
293
  # #remove_from_index
294
294
  #
295
+ #---
296
+ #FIXME Sunspot should implement remove!()
297
+ #
295
298
  def remove_from_index!
296
- Sunspot::Rails.session.remove!(self)
299
+ Sunspot.remove(self)
300
+ Sunspot.commit
297
301
  end
298
302
  end
299
303
  end
data/lib/sunspot/rails.rb CHANGED
@@ -8,19 +8,6 @@ module Sunspot #:nodoc:
8
8
  def configuration
9
9
  @configuration ||= Sunspot::Rails::Configuration.new
10
10
  end
11
-
12
- def session
13
- Thread.current[:sunspot_rails_session] ||=
14
- begin
15
- session = Sunspot::Session.new
16
- session.config.solr.url = URI::HTTP.build(
17
- :host => configuration.hostname,
18
- :port => configuration.port,
19
- :path => configuration.path
20
- ).to_s
21
- session
22
- end
23
- end
24
11
  end
25
12
  end
26
13
  end
data/rails/init.rb CHANGED
@@ -1,5 +1,9 @@
1
1
  require 'sunspot'
2
2
 
3
+ Sunspot.config.solr.url = URI::HTTP.build(:host => Sunspot::Rails.configuration.hostname,
4
+ :port => Sunspot::Rails.configuration.port,
5
+ :path => Sunspot::Rails.configuration.path).to_s
6
+
3
7
  Sunspot::Adapters::InstanceAdapter.register(Sunspot::Rails::Adapters::ActiveRecordInstanceAdapter, ActiveRecord::Base)
4
8
  Sunspot::Adapters::DataAccessor.register(Sunspot::Rails::Adapters::ActiveRecordDataAccessor, ActiveRecord::Base)
5
9
  ActiveRecord::Base.module_eval { include(Sunspot::Rails::Searchable) }
@@ -4,7 +4,7 @@ describe 'searchable with lifecycle' do
4
4
  describe 'on create' do
5
5
  before :each do
6
6
  @post = PostWithAuto.create
7
- Sunspot::Rails.session.commit
7
+ Sunspot.commit
8
8
  end
9
9
 
10
10
  it 'should automatically index' do
@@ -16,7 +16,7 @@ describe 'searchable with lifecycle' do
16
16
  before :each do
17
17
  @post = PostWithAuto.create
18
18
  @post.update_attributes(:title => 'Test 1')
19
- Sunspot::Rails.session.commit
19
+ Sunspot.commit
20
20
  end
21
21
 
22
22
  it 'should automatically update index' do
@@ -28,7 +28,7 @@ describe 'searchable with lifecycle' do
28
28
  before :each do
29
29
  @post = PostWithAuto.create
30
30
  @post.destroy
31
- Sunspot::Rails.session.commit
31
+ Sunspot.commit
32
32
  end
33
33
 
34
34
  it 'should automatically remove it from the index' do
data/spec/model_spec.rb CHANGED
@@ -12,7 +12,7 @@ describe 'ActiveRecord mixin' do
12
12
  end
13
13
 
14
14
  it 'should index the model' do
15
- Sunspot::Rails.session.commit
15
+ Sunspot.commit
16
16
  Post.search.results.should == [@post]
17
17
  end
18
18
  end
@@ -40,7 +40,7 @@ describe 'ActiveRecord mixin' do
40
40
  end
41
41
 
42
42
  it 'should remove the model from the index' do
43
- Sunspot::Rails.session.commit
43
+ Sunspot.commit
44
44
  Post.search.results.should be_empty
45
45
  end
46
46
  end
@@ -59,8 +59,8 @@ describe 'ActiveRecord mixin' do
59
59
 
60
60
  describe 'remove_all_from_index' do
61
61
  before :each do
62
- @posts = Array.new(10) { Post.create! }.each { |post| Sunspot::Rails.session.index(post) }
63
- Sunspot::Rails.session.commit
62
+ @posts = Array.new(10) { Post.create! }.each { |post| Sunspot.index(post) }
63
+ Sunspot.commit
64
64
  Post.remove_all_from_index
65
65
  end
66
66
 
@@ -69,15 +69,15 @@ describe 'ActiveRecord mixin' do
69
69
  end
70
70
 
71
71
  it 'should remove all instances from the index' do
72
- Sunspot::Rails.session.commit
72
+ Sunspot.commit
73
73
  Post.search.results.should be_empty
74
74
  end
75
75
  end
76
76
 
77
77
  describe 'remove_all_from_index!' do
78
78
  before :each do
79
- Array.new(10) { Post.create! }.each { |post| Sunspot::Rails.session.index(post) }
80
- Sunspot::Rails.session.commit
79
+ Array.new(10) { Post.create! }.each { |post| Sunspot.index(post) }
80
+ Sunspot.commit
81
81
  Post.remove_all_from_index!
82
82
  end
83
83
 
@@ -115,7 +115,7 @@ describe 'ActiveRecord mixin' do
115
115
  describe 'search_ids()' do
116
116
  before :each do
117
117
  @posts = Array.new(2) { Post.create! }.each { |post| post.index }
118
- Sunspot::Rails.session.commit
118
+ Sunspot.commit
119
119
  end
120
120
 
121
121
  it 'should return IDs' do
@@ -136,7 +136,7 @@ describe 'ActiveRecord mixin' do
136
136
  describe 'index_orphans()' do
137
137
  before :each do
138
138
  @posts = Array.new(2) { Post.create }.each { |post| post.index }
139
- Sunspot::Rails.session.commit
139
+ Sunspot.commit
140
140
  @posts.first.destroy
141
141
  end
142
142
 
@@ -148,13 +148,13 @@ describe 'ActiveRecord mixin' do
148
148
  describe 'clean_index_orphans()' do
149
149
  before :each do
150
150
  @posts = Array.new(2) { Post.create }.each { |post| post.index }
151
- Sunspot::Rails.session.commit
151
+ Sunspot.commit
152
152
  @posts.first.destroy
153
153
  end
154
154
 
155
155
  it 'should remove orphans from the index' do
156
156
  Post.clean_index_orphans
157
- Sunspot::Rails.session.commit
157
+ Sunspot.commit
158
158
  Post.search.results.should == [@posts.last]
159
159
  end
160
160
  end
@@ -166,7 +166,7 @@ describe 'ActiveRecord mixin' do
166
166
 
167
167
  it 'should index all instances' do
168
168
  Post.reindex(:batch_size => nil)
169
- Sunspot::Rails.session.commit
169
+ Sunspot.commit
170
170
  Post.search.results.to_set.should == @posts.to_set
171
171
  end
172
172
 
@@ -175,7 +175,7 @@ describe 'ActiveRecord mixin' do
175
175
  old_post.index!
176
176
  old_post.destroy
177
177
  Post.reindex
178
- Sunspot::Rails.session.commit
178
+ Sunspot.commit
179
179
  Post.search.results.to_set.should == @posts.to_set
180
180
  end
181
181
 
@@ -188,7 +188,7 @@ describe 'ActiveRecord mixin' do
188
188
 
189
189
  it 'should index all instances' do
190
190
  Post.reindex(:batch_size => nil)
191
- Sunspot::Rails.session.commit
191
+ Sunspot.commit
192
192
  Post.search.results.to_set.should == @posts.to_set
193
193
  end
194
194
 
@@ -197,14 +197,14 @@ describe 'ActiveRecord mixin' do
197
197
  old_post.index!
198
198
  old_post.destroy
199
199
  Post.reindex
200
- Sunspot::Rails.session.commit
200
+ Sunspot.commit
201
201
  Post.search.results.to_set.should == @posts.to_set
202
202
  end
203
203
 
204
204
  describe "using batch sizes" do
205
205
  it 'should index with a specified batch size' do
206
206
  Post.reindex(:batch_size => 1)
207
- Sunspot::Rails.session.commit
207
+ Sunspot.commit
208
208
  Post.search.results.to_set.should == @posts.to_set
209
209
  end
210
210
  end
@@ -263,12 +263,12 @@ describe 'ActiveRecord mixin' do
263
263
  end
264
264
 
265
265
  it "should commit after indexing each batch" do
266
- Sunspot::Rails.session.should_receive(:commit).twice
266
+ Sunspot.should_receive(:commit).twice
267
267
  Post.reindex(:batch_size => 5)
268
268
  end
269
269
 
270
270
  it "should commit after indexing everything" do
271
- Sunspot::Rails.session.should_receive(:commit).once
271
+ Sunspot.should_receive(:commit).once
272
272
  Post.reindex(:batch_commit => false)
273
273
  end
274
274
 
data/spec/spec_helper.rb CHANGED
@@ -25,8 +25,8 @@ end
25
25
 
26
26
  Spec::Runner.configure do |config|
27
27
  config.before(:each) do
28
- Sunspot::Rails.session.remove_all
29
- Sunspot::Rails.session.commit
28
+ Sunspot.remove_all
29
+ Sunspot.commit
30
30
  load_schema
31
31
  end
32
32
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sunspot_rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.7
4
+ version: 0.10.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mat Brown
@@ -12,7 +12,7 @@ autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
14
 
15
- date: 2009-10-12 00:00:00 -04:00
15
+ date: 2009-10-17 00:00:00 -04:00
16
16
  default_executable:
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
@@ -125,12 +125,10 @@ files:
125
125
  - spec/mock_app/config/initializers/session_store.rb
126
126
  - spec/mock_app/config/routes.rb
127
127
  - spec/mock_app/config/sunspot.yml
128
- - spec/mock_app/db/test.db
129
128
  - spec/model_lifecycle_spec.rb
130
129
  - spec/model_spec.rb
131
130
  - spec/request_lifecycle_spec.rb
132
131
  - spec/schema.rb
133
- - spec/session_spec.rb
134
132
  - spec/spec_helper.rb
135
133
  has_rdoc: true
136
134
  homepage: http://github.com/outoftime/sunspot_rails
@@ -156,28 +154,27 @@ required_rubygems_version: !ruby/object:Gem::Requirement
156
154
  requirements: []
157
155
 
158
156
  rubyforge_project: sunspot
159
- rubygems_version: 1.3.2
157
+ rubygems_version: 1.3.5
160
158
  signing_key:
161
159
  specification_version: 3
162
160
  summary: Rails integration for the Sunspot Solr search library
163
161
  test_files:
164
- - spec/spec_helper.rb
165
- - spec/session_spec.rb
166
162
  - spec/configuration_spec.rb
167
- - spec/model_lifecycle_spec.rb
168
- - spec/schema.rb
169
- - spec/model_spec.rb
170
- - spec/mock_app/app/controllers/posts_controller.rb
171
- - spec/mock_app/app/controllers/application_controller.rb
172
163
  - spec/mock_app/app/controllers/application.rb
164
+ - spec/mock_app/app/controllers/application_controller.rb
165
+ - spec/mock_app/app/controllers/posts_controller.rb
173
166
  - spec/mock_app/app/models/blog.rb
174
- - spec/mock_app/app/models/post_with_auto.rb
175
167
  - spec/mock_app/app/models/post.rb
168
+ - spec/mock_app/app/models/post_with_auto.rb
169
+ - spec/mock_app/config/boot.rb
176
170
  - spec/mock_app/config/environment.rb
177
- - spec/mock_app/config/initializers/session_store.rb
178
- - spec/mock_app/config/initializers/new_rails_defaults.rb
179
171
  - spec/mock_app/config/environments/development.rb
180
172
  - spec/mock_app/config/environments/test.rb
173
+ - spec/mock_app/config/initializers/new_rails_defaults.rb
174
+ - spec/mock_app/config/initializers/session_store.rb
181
175
  - spec/mock_app/config/routes.rb
182
- - spec/mock_app/config/boot.rb
176
+ - spec/model_lifecycle_spec.rb
177
+ - spec/model_spec.rb
183
178
  - spec/request_lifecycle_spec.rb
179
+ - spec/schema.rb
180
+ - spec/spec_helper.rb
@@ -1 +0,0 @@
1
- S
data/spec/session_spec.rb DELETED
@@ -1,11 +0,0 @@
1
- require File.join(File.dirname(__FILE__), 'spec_helper')
2
-
3
- describe 'Sunspot::Rails session' do
4
- it 'should be a different object for each thread' do
5
- session1 = nil
6
- session2 = nil
7
- Thread.new { session1 = Sunspot::Rails.session }.join
8
- Thread.new { session2 = Sunspot::Rails.session }.join
9
- session1.should_not eql(session2)
10
- end
11
- end