sunspot_rails 2.0.0.pre.111215 → 2.0.0.pre.120415

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.txt CHANGED
@@ -3,6 +3,8 @@
3
3
  * Default batch size can be specified by setting `Sunspot.config.indexing.default_batch_size`
4
4
  (Peer Allan)
5
5
  * Explanation of `progress_bar` is written to stdout instead of stderr (Matt Gornick)
6
+ * Fixes deprecated behavior of using InstanceMethods module with
7
+ ActiveSupport::Concern (Everton J. Carpes)
6
8
 
7
9
  == 1.3.0 2011-11-26
8
10
  * `Model.index` correctly uses `:first_id` option (Hamza Khan-Cheema)
data/README.rdoc CHANGED
@@ -143,7 +143,7 @@ Do it like this:
143
143
  Post.search do
144
144
  with :blog_id, 1
145
145
  with(:updated_at).greater_than(Time.now - 2.weeks)
146
- order :sort_title, :asc
146
+ order_by :sort_title, :asc
147
147
  paginate :page => 1, :per_page => 15
148
148
  end
149
149
 
@@ -168,7 +168,7 @@ be added, so just use the interface provided by Sunspot:
168
168
 
169
169
  Sunspot.search(Post, Comment) do
170
170
  with :blog_id, 1
171
- order :created_at, :asc
171
+ order_by :created_at, :asc
172
172
  end
173
173
 
174
174
  Be sure to check out the Sunspot documentation for all the details.
data/Rakefile CHANGED
@@ -1,5 +1,10 @@
1
1
  require 'rake'
2
- require 'rake/rdoctask'
2
+
3
+ begin
4
+ require 'rdoc/task'
5
+ rescue LoadError
6
+ require 'rake/rdoctask'
7
+ end
3
8
 
4
9
  if File.exist?(sunspot_lib = File.expand_path(File.join(File.dirname(__FILE__), '..', 'sunspot', 'lib')))
5
10
  STDERR.puts("Using sunspot lib at #{sunspot_lib}")
@@ -9,7 +9,4 @@ gem 'sunspot_rails', :path => File.expand_path('../..', __FILE__)
9
9
 
10
10
  group :test do
11
11
  gem 'rspec-rails', '~> 1.3.4'
12
- gem 'ruby-debug19', :require => nil, :platforms => :mri_19
13
- gem 'test-unit', '1.2.3', :platforms => :mri_19
14
- gem 'ruby-debug', :require => nil, :platforms => :mri_18
15
12
  end
@@ -1,6 +1,6 @@
1
1
  source :rubygems
2
2
 
3
- gem 'rails', '3.1.3'
3
+ gem 'rails', '3.0.12'
4
4
  gem 'sqlite3-ruby', '~> 1.3.1'
5
5
 
6
6
  gem 'sunspot', :path => File.expand_path('../../../sunspot', __FILE__)
@@ -8,8 +8,5 @@ gem 'sunspot_solr', :path => File.expand_path('../../../sunspot_solr', __FILE__)
8
8
  gem 'sunspot_rails', :path => File.expand_path('../..', __FILE__)
9
9
 
10
10
  group :test do
11
- gem 'rspec-rails', '~> 2.0.0'
12
- gem 'ruby-debug19', :require => nil, :platforms => :mri_19
13
- gem 'test-unit', '1.2.3', :platforms => :mri_19
14
- gem 'ruby-debug', :require => nil, :platforms => :mri_18
11
+ gem 'rspec-rails', '~> 2.8.1'
15
12
  end
@@ -1,6 +1,6 @@
1
1
  source :rubygems
2
2
 
3
- gem 'rails', '3.0.11'
3
+ gem 'rails', '3.1.4'
4
4
  gem 'sqlite3-ruby', '~> 1.3.1'
5
5
 
6
6
  gem 'sunspot', :path => File.expand_path('../../../sunspot', __FILE__)
@@ -8,8 +8,5 @@ gem 'sunspot_solr', :path => File.expand_path('../../../sunspot_solr', __FILE__)
8
8
  gem 'sunspot_rails', :path => File.expand_path('../..', __FILE__)
9
9
 
10
10
  group :test do
11
- gem 'rspec-rails', '~> 2.0.0'
12
- gem 'ruby-debug19', :require => nil, :platforms => :mri_19
13
- gem 'test-unit', '1.2.3', :platforms => :mri_19
14
- gem 'ruby-debug', :require => nil, :platforms => :mri_18
11
+ gem 'rspec-rails', '~> 2.8.1'
15
12
  end
@@ -0,0 +1,12 @@
1
+ source :rubygems
2
+
3
+ gem 'rails', '3.2.3'
4
+ gem 'sqlite3-ruby', '~> 1.3.1'
5
+
6
+ gem 'sunspot', :path => File.expand_path('../../../sunspot', __FILE__)
7
+ gem 'sunspot_solr', :path => File.expand_path('../../../sunspot_solr', __FILE__)
8
+ gem 'sunspot_rails', :path => File.expand_path('../..', __FILE__)
9
+
10
+ group :test do
11
+ gem 'rspec-rails', '~> 2.8.1'
12
+ end
@@ -3,6 +3,8 @@ production:
3
3
  hostname: localhost
4
4
  port: 8983
5
5
  log_level: WARNING
6
+ # read_timeout: 2
7
+ # open_timeout: 0.5
6
8
 
7
9
  development:
8
10
  solr:
@@ -15,4 +17,4 @@ test:
15
17
  hostname: localhost
16
18
  port: 8981
17
19
  log_level: WARNING
18
-
20
+
@@ -3,6 +3,8 @@ production:
3
3
  hostname: localhost
4
4
  port: 8983
5
5
  log_level: WARNING
6
+ # read_timeout: 2
7
+ # open_timeout: 0.5
6
8
 
7
9
  development:
8
10
  solr:
@@ -14,4 +16,4 @@ test:
14
16
  solr:
15
17
  hostname: localhost
16
18
  port: 8981
17
- log_level: WARNING
19
+ log_level: WARNING
data/lib/sunspot/rails.rb CHANGED
@@ -48,6 +48,8 @@ module Sunspot #:nodoc:
48
48
  :port => sunspot_rails_configuration.master_port,
49
49
  :path => sunspot_rails_configuration.master_path
50
50
  ).to_s
51
+ config.solr.read_timeout = sunspot_rails_configuration.read_timeout
52
+ config.solr.open_timeout = sunspot_rails_configuration.open_timeout
51
53
  config
52
54
  end
53
55
 
@@ -58,6 +60,8 @@ module Sunspot #:nodoc:
58
60
  :port => sunspot_rails_configuration.port,
59
61
  :path => sunspot_rails_configuration.path
60
62
  ).to_s
63
+ config.solr.read_timeout = sunspot_rails_configuration.read_timeout
64
+ config.solr.open_timeout = sunspot_rails_configuration.open_timeout
61
65
  config
62
66
  end
63
67
  end
@@ -21,6 +21,8 @@ module Sunspot #:nodoc:
21
21
  # hostname: localhost
22
22
  # port: 8983
23
23
  # log_level: OFF
24
+ # open_timeout: 0.5
25
+ # read_timeout: 2
24
26
  # production:
25
27
  # solr:
26
28
  # hostname: localhost
@@ -28,6 +30,8 @@ module Sunspot #:nodoc:
28
30
  # path: /solr/myindex
29
31
  # log_level: WARNING
30
32
  # solr_home: /some/path
33
+ # open_timeout: 0.5
34
+ # read_timeout: 2
31
35
  # master_solr:
32
36
  # hostname: localhost
33
37
  # port: 8982
@@ -247,6 +251,14 @@ module Sunspot #:nodoc:
247
251
  def bind_address
248
252
  @bind_address ||= user_configuration_from_key('solr', 'bind_address')
249
253
  end
254
+
255
+ def read_timeout
256
+ @read_timeout ||= user_configuration_from_key('solr', 'read_timeout')
257
+ end
258
+
259
+ def open_timeout
260
+ @open_timeout ||= user_configuration_from_key('solr', 'open_timeout')
261
+ end
250
262
 
251
263
  #
252
264
  # Whether or not to disable Solr.
@@ -1,7 +1,7 @@
1
1
  module Sunspot
2
2
  module Rails
3
3
  class Railtie < ::Rails::Railtie
4
- initializer 'sunspot_rails.init' do
4
+ initializer 'sunspot_rails.init', :before=> :load_config_initializers do
5
5
  Sunspot.session = Sunspot::Rails.build_session
6
6
  ActiveSupport.on_load(:active_record) do
7
7
  Sunspot::Adapters::InstanceAdapter.register(Sunspot::Rails::Adapters::ActiveRecordInstanceAdapter, ActiveRecord::Base)
@@ -7,14 +7,13 @@ module Sunspot
7
7
  alias_method_chain :execute, :as_instrumentation
8
8
  end
9
9
 
10
- module InstanceMethods
11
- def execute_with_as_instrumentation(path, params={}, *extra)
12
- ActiveSupport::Notifications.instrument("request.rsolr",
13
- {:path => path, :parameters => params}) do
14
- execute_without_as_instrumentation(path, params, *extra)
15
- end
10
+
11
+ def execute_with_as_instrumentation(path, params={}, *extra)
12
+ ActiveSupport::Notifications.instrument("request.rsolr",
13
+ {:path => path, :parameters => params}) do
14
+ execute_without_as_instrumentation(path, params, *extra)
16
15
  end
17
16
  end
18
17
  end
19
18
  end
20
- end
19
+ end
@@ -15,6 +15,10 @@ namespace :sunspot do
15
15
  # # batchs of 1000
16
16
  # $ rake sunspot:reindex[,Post+Author] # reindex Post and Author model
17
17
  task :reindex, [:batch_size, :models] => [:environment] do |t, args|
18
+
19
+ # Retry once or gracefully fail for a 5xx error so we don't break reindexing
20
+ Sunspot.session = Sunspot::SessionProxy::Retry5xxSessionProxy.new(Sunspot.session)
21
+
18
22
  # Set up general options for reindexing
19
23
  reindex_options = { :batch_commit => false }
20
24
 
@@ -48,15 +52,20 @@ namespace :sunspot do
48
52
  rescue Exception => e
49
53
  $stderr.puts "Error using progress bar: #{e.message}"
50
54
  end
51
-
55
+
52
56
  # Finally, invoke the class-level solr_reindex on each model
53
57
  sunspot_models.each do |model|
54
58
  model.solr_reindex(reindex_options)
55
59
  end
56
60
  end
57
61
 
62
+ # Assume that if the sunspot_solr gem is in the load path that this deprication warning is
63
+ # redundant.
64
+ def sunspot_solr_in_load_path
65
+ $:.any? { |path| path =~ %r{sunspot_solr/lib$} }
66
+ end
58
67
 
59
- unless defined?(Sunspot::Solr)
68
+ unless sunspot_solr_in_load_path
60
69
  namespace :solr do
61
70
  task :moved_to_sunspot_solr do
62
71
  abort %(
@@ -36,6 +36,14 @@ describe Sunspot::Rails::Configuration, "default values without a sunspot.yml" d
36
36
  @config.port.should == 8983
37
37
  end
38
38
  end
39
+
40
+ it "should set the read timeout to nil when not set" do
41
+ @config.read_timeout == nil
42
+ end
43
+
44
+ it "should set the open timeout to nil when not set" do
45
+ @config.open_timeout == nil
46
+ end
39
47
 
40
48
  it "should handle the 'log_level' property when not set" do
41
49
  @config.log_level.should == 'INFO'
@@ -126,6 +134,12 @@ describe Sunspot::Rails::Configuration, "user provided sunspot.yml" do
126
134
  it "should handle the 'bind_address' property when set" do
127
135
  @config.bind_address.should == "127.0.0.1"
128
136
  end
137
+ it "should handle the 'read_timeout' property when set" do
138
+ @config.read_timeout.should == 2
139
+ end
140
+ it "should handle the 'open_timeout' property when set" do
141
+ @config.open_timeout.should == 0.5
142
+ end
129
143
  end
130
144
 
131
145
  describe Sunspot::Rails::Configuration, "with disabled: true in sunspot.yml" do
@@ -1,6 +1,6 @@
1
1
  class Author < ActiveRecord::Base
2
- set_table_name :writers
3
- set_primary_key :writer_id
2
+ self.table_name = :writers
3
+ self.primary_key = :writer_id
4
4
 
5
5
  searchable do
6
6
  string :name
@@ -16,6 +16,8 @@ config_test:
16
16
  pid_dir: /my_superior_path/pids
17
17
  solr_home: /my_superior_path
18
18
  bind_address: 127.0.0.1
19
+ read_timeout: 2
20
+ open_timeout: 0.5
19
21
  auto_commit_after_request: false
20
22
  auto_commit_after_delete_request: true
21
23
  config_disabled_test:
metadata CHANGED
@@ -1,14 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sunspot_rails
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: true
4
+ hash: 2889093829
5
+ prerelease: 6
5
6
  segments:
6
7
  - 2
7
8
  - 0
8
9
  - 0
9
10
  - pre
10
- - 111215
11
- version: 2.0.0.pre.111215
11
+ - 120415
12
+ version: 2.0.0.pre.120415
12
13
  platform: ruby
13
14
  authors:
14
15
  - Mat Brown
@@ -34,32 +35,35 @@ autorequire:
34
35
  bindir: bin
35
36
  cert_chain: []
36
37
 
37
- date: 2011-12-15 00:00:00 -07:00
38
- default_executable:
38
+ date: 2012-04-15 00:00:00 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: sunspot
42
42
  prerelease: false
43
43
  requirement: &id001 !ruby/object:Gem::Requirement
44
+ none: false
44
45
  requirements:
45
46
  - - "="
46
47
  - !ruby/object:Gem::Version
48
+ hash: 2889093829
47
49
  segments:
48
50
  - 2
49
51
  - 0
50
52
  - 0
51
53
  - pre
52
- - 111215
53
- version: 2.0.0.pre.111215
54
+ - 120415
55
+ version: 2.0.0.pre.120415
54
56
  type: :runtime
55
57
  version_requirements: *id001
56
58
  - !ruby/object:Gem::Dependency
57
59
  name: nokogiri
58
60
  prerelease: false
59
61
  requirement: &id002 !ruby/object:Gem::Requirement
62
+ none: false
60
63
  requirements:
61
64
  - - ">="
62
65
  - !ruby/object:Gem::Version
66
+ hash: 3
63
67
  segments:
64
68
  - 0
65
69
  version: "0"
@@ -69,9 +73,11 @@ dependencies:
69
73
  name: rspec
70
74
  prerelease: false
71
75
  requirement: &id003 !ruby/object:Gem::Requirement
76
+ none: false
72
77
  requirements:
73
78
  - - ~>
74
79
  - !ruby/object:Gem::Version
80
+ hash: 11
75
81
  segments:
76
82
  - 1
77
83
  - 2
@@ -82,9 +88,11 @@ dependencies:
82
88
  name: rspec-rails
83
89
  prerelease: false
84
90
  requirement: &id004 !ruby/object:Gem::Requirement
91
+ none: false
85
92
  requirements:
86
93
  - - ~>
87
94
  - !ruby/object:Gem::Version
95
+ hash: 11
88
96
  segments:
89
97
  - 1
90
98
  - 2
@@ -114,8 +122,9 @@ files:
114
122
  - dev_tasks/spec.rake
115
123
  - dev_tasks/todo.rake
116
124
  - gemfiles/rails-2.3.14
117
- - gemfiles/rails-3.0.11
118
- - gemfiles/rails-3.1.3
125
+ - gemfiles/rails-3.0.12
126
+ - gemfiles/rails-3.1.4
127
+ - gemfiles/rails-3.2.3
119
128
  - generators/sunspot/sunspot_generator.rb
120
129
  - generators/sunspot/templates/sunspot.yml
121
130
  - install.rb
@@ -166,7 +175,6 @@ files:
166
175
  - spec/stub_session_proxy_spec.rb
167
176
  - sunspot_rails.gemspec
168
177
  - tmp/.gitkeep
169
- has_rdoc: true
170
178
  homepage: http://github.com/outoftime/sunspot/tree/master/sunspot_rails
171
179
  licenses: []
172
180
 
@@ -180,16 +188,20 @@ rdoc_options:
180
188
  require_paths:
181
189
  - lib
182
190
  required_ruby_version: !ruby/object:Gem::Requirement
191
+ none: false
183
192
  requirements:
184
193
  - - ">="
185
194
  - !ruby/object:Gem::Version
195
+ hash: 3
186
196
  segments:
187
197
  - 0
188
198
  version: "0"
189
199
  required_rubygems_version: !ruby/object:Gem::Requirement
200
+ none: false
190
201
  requirements:
191
202
  - - ">"
192
203
  - !ruby/object:Gem::Version
204
+ hash: 25
193
205
  segments:
194
206
  - 1
195
207
  - 3
@@ -198,7 +210,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
198
210
  requirements: []
199
211
 
200
212
  rubyforge_project: sunspot
201
- rubygems_version: 1.3.6
213
+ rubygems_version: 1.8.15
202
214
  signing_key:
203
215
  specification_version: 3
204
216
  summary: Rails integration for the Sunspot Solr search library