sunspot_rails 2.0.0.pre.130115 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +2 -2
- data/gemfiles/{rails-2.3.14 → rails-2.3.16} +3 -3
- data/gemfiles/{rails-3.2.9 → rails-3.0.20} +2 -2
- data/gemfiles/{rails-3.1.8 → rails-3.1.10} +2 -2
- data/gemfiles/{rails-3.0.17 → rails-3.2.11} +2 -2
- data/lib/sunspot/rails/configuration.rb +11 -3
- data/lib/sunspot/rails/server.rb +1 -8
- data/lib/sunspot/rails/tasks.rb +11 -5
- data/spec/configuration_spec.rb +3 -2
- data/spec/server_spec.rb +4 -2
- data/sunspot_rails.gemspec +1 -0
- metadata +28 -27
data/README.rdoc
CHANGED
@@ -226,7 +226,7 @@ Then, in your spec, use the #disconnect_sunspot method:
|
|
226
226
|
describe Post do
|
227
227
|
disconnect_sunspot
|
228
228
|
|
229
|
-
it 'should have some behavior'
|
229
|
+
it 'should have some behavior' do
|
230
230
|
# ...
|
231
231
|
end
|
232
232
|
end
|
@@ -262,4 +262,4 @@ Please submit bug reports to https://github.com/sunspot/sunspot/issues
|
|
262
262
|
|
263
263
|
== License
|
264
264
|
|
265
|
-
Sunspot::Rails is distributed under the MIT License, copyright (c)
|
265
|
+
Sunspot::Rails is distributed under the MIT License, copyright (c) 2013 Mat Brown
|
@@ -1,13 +1,13 @@
|
|
1
1
|
source :rubygems
|
2
2
|
|
3
|
-
gem 'rails', '2.3.
|
4
|
-
gem 'sqlite3
|
3
|
+
gem 'rails', '2.3.16'
|
4
|
+
gem 'sqlite3', '~> 1.3.7'
|
5
5
|
|
6
6
|
gem 'sunspot', :path => File.expand_path('../../../sunspot', __FILE__)
|
7
7
|
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
|
-
|
11
|
+
gem 'rspec-rails', '~> 1.3.4'
|
12
12
|
gem 'test-unit', '~> 1.2.3', :platform => :mri_19
|
13
13
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
source :rubygems
|
2
2
|
|
3
|
-
gem 'rails', '3.
|
4
|
-
gem 'sqlite3', '~> 1.3.
|
3
|
+
gem 'rails', '3.0.20'
|
4
|
+
gem 'sqlite3', '~> 1.3.7'
|
5
5
|
|
6
6
|
gem 'sunspot', :path => File.expand_path('../../../sunspot', __FILE__)
|
7
7
|
gem 'sunspot_solr', :path => File.expand_path('../../../sunspot_solr', __FILE__)
|
@@ -1,7 +1,7 @@
|
|
1
1
|
source :rubygems
|
2
2
|
|
3
|
-
gem 'rails', '3.1.
|
4
|
-
gem 'sqlite3
|
3
|
+
gem 'rails', '3.1.10'
|
4
|
+
gem 'sqlite3', '~> 1.3.7'
|
5
5
|
|
6
6
|
gem 'sunspot', :path => File.expand_path('../../../sunspot', __FILE__)
|
7
7
|
gem 'sunspot_solr', :path => File.expand_path('../../../sunspot_solr', __FILE__)
|
@@ -1,7 +1,7 @@
|
|
1
1
|
source :rubygems
|
2
2
|
|
3
|
-
gem 'rails', '3.
|
4
|
-
gem 'sqlite3
|
3
|
+
gem 'rails', '3.2.11'
|
4
|
+
gem 'sqlite3', '~> 1.3.7'
|
5
5
|
|
6
6
|
gem 'sunspot', :path => File.expand_path('../../../sunspot', __FILE__)
|
7
7
|
gem 'sunspot_solr', :path => File.expand_path('../../../sunspot_solr', __FILE__)
|
@@ -47,6 +47,10 @@ module Sunspot #:nodoc:
|
|
47
47
|
# configured under <code>solr</code> for all read operations.
|
48
48
|
#
|
49
49
|
class Configuration
|
50
|
+
# ActiveSupport log levels are integers; this array maps them to the
|
51
|
+
# appropriate java.util.logging.Level constant
|
52
|
+
LOG_LEVELS = %w(FINE INFO WARNING SEVERE SEVERE INFO)
|
53
|
+
|
50
54
|
attr_writer :user_configuration
|
51
55
|
#
|
52
56
|
# The host name at which to connect to Solr. Default 'localhost'.
|
@@ -146,17 +150,21 @@ module Sunspot #:nodoc:
|
|
146
150
|
@has_master = !!user_configuration_from_key('master_solr')
|
147
151
|
end
|
148
152
|
|
149
|
-
#
|
153
|
+
#
|
150
154
|
# The default log_level that should be passed to solr. You can
|
151
155
|
# change the individual log_levels in the solr admin interface.
|
152
|
-
#
|
156
|
+
# If no level is specified in the sunspot configuration file,
|
157
|
+
# use a level similar to Rails own logging level.
|
153
158
|
#
|
154
159
|
# ==== Returns
|
155
160
|
#
|
156
161
|
# String:: log_level
|
157
162
|
#
|
158
163
|
def log_level
|
159
|
-
@log_level ||= (
|
164
|
+
@log_level ||= (
|
165
|
+
user_configuration_from_key('solr', 'log_level') ||
|
166
|
+
LOG_LEVELS[::Rails.logger.level]
|
167
|
+
)
|
160
168
|
end
|
161
169
|
|
162
170
|
#
|
data/lib/sunspot/rails/server.rb
CHANGED
@@ -1,9 +1,6 @@
|
|
1
1
|
module Sunspot
|
2
2
|
module Rails
|
3
3
|
class Server < Sunspot::Solr::Server
|
4
|
-
# ActiveSupport log levels are integers; this array maps them to the
|
5
|
-
# appropriate java.util.logging.Level constant
|
6
|
-
LOG_LEVELS = %w(FINE INFO WARNING SEVERE SEVERE INFO)
|
7
4
|
|
8
5
|
#
|
9
6
|
# Directory in which to store PID files
|
@@ -58,12 +55,8 @@ module Sunspot
|
|
58
55
|
configuration.port
|
59
56
|
end
|
60
57
|
|
61
|
-
#
|
62
|
-
# Severity level for logging. This is based on the severity level for the
|
63
|
-
# Rails logger.
|
64
|
-
#
|
65
58
|
def log_level
|
66
|
-
|
59
|
+
configuration.log_level
|
67
60
|
end
|
68
61
|
|
69
62
|
#
|
data/lib/sunspot/rails/tasks.rb
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
namespace :sunspot do
|
2
2
|
|
3
|
-
desc "
|
3
|
+
desc "Drop and then reindex all solr models that are located in your application's models directory."
|
4
4
|
# This task depends on the standard Rails file naming \
|
5
5
|
# conventions, in that the file name matches the defined class name. \
|
6
6
|
# By default the indexing system works in batches of 50 records, you can \
|
7
7
|
# set your own value for this by using the batch_size argument. You can \
|
8
8
|
# also optionally define a list of models to separated by a forward slash '/'
|
9
|
-
#
|
9
|
+
#
|
10
10
|
# $ rake sunspot:reindex # reindex all models
|
11
11
|
# $ rake sunspot:reindex[1000] # reindex in batches of 1000
|
12
12
|
# $ rake sunspot:reindex[false] # reindex without batching
|
@@ -15,17 +15,23 @@ 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
|
+
puts "*Note: the reindex task will remove your current indexes and start from scratch."
|
19
|
+
puts "If you have a large dataset, reindexing can take a very long time, possibly weeks."
|
20
|
+
puts "This is not encouraged if you have anywhere near or over 1 million rows."
|
21
|
+
puts "Are you sure you want to drop your indexes and completely reindex? (y/n)"
|
22
|
+
answer = STDIN.gets.chomp
|
23
|
+
return false if answer == "n"
|
18
24
|
|
19
25
|
# Retry once or gracefully fail for a 5xx error so we don't break reindexing
|
20
26
|
Sunspot.session = Sunspot::SessionProxy::Retry5xxSessionProxy.new(Sunspot.session)
|
21
27
|
|
22
28
|
# Set up general options for reindexing
|
23
29
|
reindex_options = { :batch_commit => false }
|
24
|
-
|
30
|
+
|
25
31
|
case args[:batch_size]
|
26
32
|
when 'false'
|
27
33
|
reindex_options[:batch_size] = nil
|
28
|
-
when /^\d+$/
|
34
|
+
when /^\d+$/
|
29
35
|
reindex_options[:batch_size] = args[:batch_size].to_i if args[:batch_size].to_i > 0
|
30
36
|
end
|
31
37
|
|
@@ -41,7 +47,7 @@ namespace :sunspot do
|
|
41
47
|
model_names = args[:models].split('+')
|
42
48
|
sunspot_models = model_names.map{ |m| m.constantize }
|
43
49
|
end
|
44
|
-
|
50
|
+
|
45
51
|
# Set up progress_bar to, ah, report progress
|
46
52
|
begin
|
47
53
|
require 'progress_bar'
|
data/spec/configuration_spec.rb
CHANGED
@@ -45,8 +45,9 @@ describe Sunspot::Rails::Configuration, "default values without a sunspot.yml" d
|
|
45
45
|
@config.open_timeout == nil
|
46
46
|
end
|
47
47
|
|
48
|
-
it "should
|
49
|
-
|
48
|
+
it "should set 'log_level' property using Rails log level when not set" do
|
49
|
+
::Rails.logger.stub(:level){ 3 }
|
50
|
+
@config.log_level.should == 'SEVERE'
|
50
51
|
end
|
51
52
|
|
52
53
|
it "should handle the 'log_file' property" do
|
data/spec/server_spec.rb
CHANGED
@@ -4,6 +4,7 @@ describe Sunspot::Rails::Server do
|
|
4
4
|
before :each do
|
5
5
|
@server = Sunspot::Rails::Server.new
|
6
6
|
@config = Sunspot::Rails::Configuration.new
|
7
|
+
@server.stub(:configuration){ @config }
|
7
8
|
@solr_home = File.join(@config.solr_home)
|
8
9
|
end
|
9
10
|
|
@@ -23,8 +24,9 @@ describe Sunspot::Rails::Server do
|
|
23
24
|
@server.port.should == 8983
|
24
25
|
end
|
25
26
|
|
26
|
-
it "sets the
|
27
|
-
@
|
27
|
+
it "sets the log level using configuration" do
|
28
|
+
@config.stub(:log_level){ 'WARNING' }
|
29
|
+
@server.log_level.should == "WARNING"
|
28
30
|
end
|
29
31
|
|
30
32
|
it "sets the correct log file" do
|
data/sunspot_rails.gemspec
CHANGED
@@ -15,6 +15,7 @@ Gem::Specification.new do |s|
|
|
15
15
|
s.email = ["mat@patch.com"]
|
16
16
|
s.homepage = 'http://github.com/outoftime/sunspot/tree/master/sunspot_rails'
|
17
17
|
s.summary = 'Rails integration for the Sunspot Solr search library'
|
18
|
+
s.license = 'MIT'
|
18
19
|
s.description = <<-TEXT
|
19
20
|
Sunspot::Rails is an extension to the Sunspot library for Solr search.
|
20
21
|
Sunspot::Rails adds integration between Sunspot and ActiveRecord, including
|
metadata
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sunspot_rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.0
|
5
|
-
prerelease:
|
4
|
+
version: 2.0.0
|
5
|
+
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Mat Brown
|
@@ -27,72 +27,72 @@ authors:
|
|
27
27
|
autorequire:
|
28
28
|
bindir: bin
|
29
29
|
cert_chain: []
|
30
|
-
date: 2013-
|
30
|
+
date: 2013-02-26 00:00:00.000000000 Z
|
31
31
|
dependencies:
|
32
32
|
- !ruby/object:Gem::Dependency
|
33
33
|
name: sunspot
|
34
|
-
prerelease: false
|
35
34
|
requirement: !ruby/object:Gem::Requirement
|
35
|
+
none: false
|
36
36
|
requirements:
|
37
37
|
- - '='
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version: 2.0.0
|
40
|
-
none: false
|
39
|
+
version: 2.0.0
|
41
40
|
type: :runtime
|
41
|
+
prerelease: false
|
42
42
|
version_requirements: !ruby/object:Gem::Requirement
|
43
|
+
none: false
|
43
44
|
requirements:
|
44
45
|
- - '='
|
45
46
|
- !ruby/object:Gem::Version
|
46
|
-
version: 2.0.0
|
47
|
-
none: false
|
47
|
+
version: 2.0.0
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
49
|
name: nokogiri
|
50
|
-
prerelease: false
|
51
50
|
requirement: !ruby/object:Gem::Requirement
|
51
|
+
none: false
|
52
52
|
requirements:
|
53
53
|
- - ! '>='
|
54
54
|
- !ruby/object:Gem::Version
|
55
55
|
version: '0'
|
56
|
-
none: false
|
57
56
|
type: :runtime
|
57
|
+
prerelease: false
|
58
58
|
version_requirements: !ruby/object:Gem::Requirement
|
59
|
+
none: false
|
59
60
|
requirements:
|
60
61
|
- - ! '>='
|
61
62
|
- !ruby/object:Gem::Version
|
62
63
|
version: '0'
|
63
|
-
none: false
|
64
64
|
- !ruby/object:Gem::Dependency
|
65
65
|
name: rspec
|
66
|
-
prerelease: false
|
67
66
|
requirement: !ruby/object:Gem::Requirement
|
67
|
+
none: false
|
68
68
|
requirements:
|
69
69
|
- - ~>
|
70
70
|
- !ruby/object:Gem::Version
|
71
71
|
version: '1.2'
|
72
|
-
none: false
|
73
72
|
type: :development
|
73
|
+
prerelease: false
|
74
74
|
version_requirements: !ruby/object:Gem::Requirement
|
75
|
+
none: false
|
75
76
|
requirements:
|
76
77
|
- - ~>
|
77
78
|
- !ruby/object:Gem::Version
|
78
79
|
version: '1.2'
|
79
|
-
none: false
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: rspec-rails
|
82
|
-
prerelease: false
|
83
82
|
requirement: !ruby/object:Gem::Requirement
|
83
|
+
none: false
|
84
84
|
requirements:
|
85
85
|
- - ~>
|
86
86
|
- !ruby/object:Gem::Version
|
87
87
|
version: '1.2'
|
88
|
-
none: false
|
89
88
|
type: :development
|
89
|
+
prerelease: false
|
90
90
|
version_requirements: !ruby/object:Gem::Requirement
|
91
|
+
none: false
|
91
92
|
requirements:
|
92
93
|
- - ~>
|
93
94
|
- !ruby/object:Gem::Version
|
94
95
|
version: '1.2'
|
95
|
-
none: false
|
96
96
|
description: ! " Sunspot::Rails is an extension to the Sunspot library for Solr
|
97
97
|
search.\n Sunspot::Rails adds integration between Sunspot and ActiveRecord, including\n
|
98
98
|
\ defining search and indexing related methods on ActiveRecord models themselves,\n
|
@@ -116,10 +116,10 @@ files:
|
|
116
116
|
- dev_tasks/release.rake
|
117
117
|
- dev_tasks/spec.rake
|
118
118
|
- dev_tasks/todo.rake
|
119
|
-
- gemfiles/rails-2.3.
|
120
|
-
- gemfiles/rails-3.0.
|
121
|
-
- gemfiles/rails-3.1.
|
122
|
-
- gemfiles/rails-3.2.
|
119
|
+
- gemfiles/rails-2.3.16
|
120
|
+
- gemfiles/rails-3.0.20
|
121
|
+
- gemfiles/rails-3.1.10
|
122
|
+
- gemfiles/rails-3.2.11
|
123
123
|
- generators/sunspot/sunspot_generator.rb
|
124
124
|
- generators/sunspot/templates/sunspot.yml
|
125
125
|
- install.rb
|
@@ -172,7 +172,8 @@ files:
|
|
172
172
|
- sunspot_rails.gemspec
|
173
173
|
- tmp/.gitkeep
|
174
174
|
homepage: http://github.com/outoftime/sunspot/tree/master/sunspot_rails
|
175
|
-
licenses:
|
175
|
+
licenses:
|
176
|
+
- MIT
|
176
177
|
post_install_message:
|
177
178
|
rdoc_options:
|
178
179
|
- --webcvs=http://github.com/outoftime/sunspot/tree/master/%s
|
@@ -183,20 +184,20 @@ rdoc_options:
|
|
183
184
|
require_paths:
|
184
185
|
- lib
|
185
186
|
required_ruby_version: !ruby/object:Gem::Requirement
|
187
|
+
none: false
|
186
188
|
requirements:
|
187
189
|
- - ! '>='
|
188
190
|
- !ruby/object:Gem::Version
|
189
191
|
version: '0'
|
190
|
-
none: false
|
191
192
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
193
|
+
none: false
|
192
194
|
requirements:
|
193
|
-
- - ! '
|
195
|
+
- - ! '>='
|
194
196
|
- !ruby/object:Gem::Version
|
195
|
-
version:
|
196
|
-
none: false
|
197
|
+
version: '0'
|
197
198
|
requirements: []
|
198
199
|
rubyforge_project: sunspot
|
199
|
-
rubygems_version: 1.8.
|
200
|
+
rubygems_version: 1.8.23
|
200
201
|
signing_key:
|
201
202
|
specification_version: 3
|
202
203
|
summary: Rails integration for the Sunspot Solr search library
|