sunspot_rails 2.0.0 → 2.1.0
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 +6 -1
- data/README.rdoc +0 -26
- data/dev_tasks/spec.rake +15 -24
- data/gemfiles/{rails-2.3.16 → rails-3.0.0} +11 -5
- data/gemfiles/{rails-3.0.20 → rails-3.1.0} +11 -4
- data/gemfiles/{rails-3.1.10 → rails-3.2.0} +11 -4
- data/gemfiles/rails-4.0.0 +20 -0
- data/generators/sunspot/templates/sunspot.yml +7 -4
- data/lib/generators/sunspot_rails/install/templates/config/sunspot.yml +4 -0
- data/lib/sunspot/rails/adapters.rb +12 -11
- data/lib/sunspot/rails/configuration.rb +2 -2
- data/lib/sunspot/rails/log_subscriber.rb +11 -6
- data/lib/sunspot/rails/railtie.rb +1 -1
- data/lib/sunspot/rails/searchable.rb +10 -15
- data/lib/sunspot/rails/solr_instrumentation.rb +7 -5
- data/lib/sunspot/rails/solr_logging.rb +2 -5
- data/lib/sunspot/rails/stub_session_proxy.rb +14 -0
- data/lib/sunspot/rails/tasks.rb +47 -42
- data/lib/sunspot_rails.rb +2 -7
- data/spec/configuration_spec.rb +10 -10
- data/spec/model_spec.rb +38 -29
- data/spec/rails_template/app/models/post_with_default_scope.rb +3 -1
- data/spec/rails_template/app/models/rake_task_auto_load_test_model.rb +13 -0
- data/spec/rails_template/config/database.yml +11 -0
- data/spec/rails_template/config/routes.rb +3 -9
- data/spec/rake_task_spec.rb +40 -0
- data/spec/searchable_spec.rb +3 -0
- data/spec/session_spec.rb +1 -1
- data/spec/spec_helper.rb +59 -32
- data/spec/stub_session_proxy_spec.rb +8 -4
- data/sunspot_rails.gemspec +1 -0
- metadata +42 -22
- data/gemfiles/rails-3.2.11 +0 -12
- data/spec/rails_template/config/boot.rb +0 -127
- data/spec/rails_template/config/preinitializer.rb +0 -22
@@ -111,12 +111,16 @@ describe 'specs with Sunspot stubbed' do
|
|
111
111
|
@search.total.should == 0
|
112
112
|
end
|
113
113
|
|
114
|
-
it 'should return
|
115
|
-
@search.facet(:category_id).should
|
114
|
+
it 'should return empty results for a given facet' do
|
115
|
+
@search.facet(:category_id).rows.should == []
|
116
116
|
end
|
117
117
|
|
118
|
-
it 'should return
|
119
|
-
@search.dynamic_facet(:custom).should
|
118
|
+
it 'should return empty results for a given dynamic facet' do
|
119
|
+
@search.dynamic_facet(:custom).rows.should == []
|
120
|
+
end
|
121
|
+
|
122
|
+
it 'should return empty array if listing facets' do
|
123
|
+
@search.facets.should == []
|
120
124
|
end
|
121
125
|
end
|
122
126
|
end
|
data/sunspot_rails.gemspec
CHANGED
@@ -32,6 +32,7 @@ Gem::Specification.new do |s|
|
|
32
32
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
33
33
|
s.require_paths = ["lib"]
|
34
34
|
|
35
|
+
s.add_dependency 'rails', '>= 3'
|
35
36
|
s.add_dependency 'sunspot', Sunspot::VERSION
|
36
37
|
s.add_dependency 'nokogiri'
|
37
38
|
|
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: 2.
|
4
|
+
version: 2.1.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -27,8 +27,24 @@ authors:
|
|
27
27
|
autorequire:
|
28
28
|
bindir: bin
|
29
29
|
cert_chain: []
|
30
|
-
date: 2013-
|
30
|
+
date: 2013-10-25 00:00:00.000000000 Z
|
31
31
|
dependencies:
|
32
|
+
- !ruby/object:Gem::Dependency
|
33
|
+
name: rails
|
34
|
+
requirement: !ruby/object:Gem::Requirement
|
35
|
+
none: false
|
36
|
+
requirements:
|
37
|
+
- - '>='
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '3'
|
40
|
+
type: :runtime
|
41
|
+
prerelease: false
|
42
|
+
version_requirements: !ruby/object:Gem::Requirement
|
43
|
+
none: false
|
44
|
+
requirements:
|
45
|
+
- - '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '3'
|
32
48
|
- !ruby/object:Gem::Dependency
|
33
49
|
name: sunspot
|
34
50
|
requirement: !ruby/object:Gem::Requirement
|
@@ -36,7 +52,7 @@ dependencies:
|
|
36
52
|
requirements:
|
37
53
|
- - '='
|
38
54
|
- !ruby/object:Gem::Version
|
39
|
-
version: 2.
|
55
|
+
version: 2.1.0
|
40
56
|
type: :runtime
|
41
57
|
prerelease: false
|
42
58
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -44,13 +60,13 @@ dependencies:
|
|
44
60
|
requirements:
|
45
61
|
- - '='
|
46
62
|
- !ruby/object:Gem::Version
|
47
|
-
version: 2.
|
63
|
+
version: 2.1.0
|
48
64
|
- !ruby/object:Gem::Dependency
|
49
65
|
name: nokogiri
|
50
66
|
requirement: !ruby/object:Gem::Requirement
|
51
67
|
none: false
|
52
68
|
requirements:
|
53
|
-
- -
|
69
|
+
- - '>='
|
54
70
|
- !ruby/object:Gem::Version
|
55
71
|
version: '0'
|
56
72
|
type: :runtime
|
@@ -58,7 +74,7 @@ dependencies:
|
|
58
74
|
version_requirements: !ruby/object:Gem::Requirement
|
59
75
|
none: false
|
60
76
|
requirements:
|
61
|
-
- -
|
77
|
+
- - '>='
|
62
78
|
- !ruby/object:Gem::Version
|
63
79
|
version: '0'
|
64
80
|
- !ruby/object:Gem::Dependency
|
@@ -93,11 +109,13 @@ dependencies:
|
|
93
109
|
- - ~>
|
94
110
|
- !ruby/object:Gem::Version
|
95
111
|
version: '1.2'
|
96
|
-
description:
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
112
|
+
description: |2
|
113
|
+
Sunspot::Rails is an extension to the Sunspot library for Solr search.
|
114
|
+
Sunspot::Rails adds integration between Sunspot and ActiveRecord, including
|
115
|
+
defining search and indexing related methods on ActiveRecord models themselves,
|
116
|
+
running a Sunspot-compatible Solr instance for development and test
|
117
|
+
environments, and automatically commit Solr index changes at the end of each
|
118
|
+
Rails request.
|
101
119
|
email:
|
102
120
|
- mat@patch.com
|
103
121
|
executables: []
|
@@ -116,10 +134,10 @@ files:
|
|
116
134
|
- dev_tasks/release.rake
|
117
135
|
- dev_tasks/spec.rake
|
118
136
|
- dev_tasks/todo.rake
|
119
|
-
- gemfiles/rails-
|
120
|
-
- gemfiles/rails-3.0
|
121
|
-
- gemfiles/rails-3.
|
122
|
-
- gemfiles/rails-
|
137
|
+
- gemfiles/rails-3.0.0
|
138
|
+
- gemfiles/rails-3.1.0
|
139
|
+
- gemfiles/rails-3.2.0
|
140
|
+
- gemfiles/rails-4.0.0
|
123
141
|
- generators/sunspot/sunspot_generator.rb
|
124
142
|
- generators/sunspot/templates/sunspot.yml
|
125
143
|
- install.rb
|
@@ -155,11 +173,12 @@ files:
|
|
155
173
|
- spec/rails_template/app/models/post_with_auto.rb
|
156
174
|
- spec/rails_template/app/models/post_with_default_scope.rb
|
157
175
|
- spec/rails_template/app/models/post_with_only_some_attributes_triggering_reindex.rb
|
158
|
-
- spec/rails_template/
|
159
|
-
- spec/rails_template/config/
|
176
|
+
- spec/rails_template/app/models/rake_task_auto_load_test_model.rb
|
177
|
+
- spec/rails_template/config/database.yml
|
160
178
|
- spec/rails_template/config/routes.rb
|
161
179
|
- spec/rails_template/config/sunspot.yml
|
162
180
|
- spec/rails_template/db/schema.rb
|
181
|
+
- spec/rake_task_spec.rb
|
163
182
|
- spec/request_lifecycle_spec.rb
|
164
183
|
- spec/schema.rb
|
165
184
|
- spec/searchable_spec.rb
|
@@ -186,18 +205,18 @@ require_paths:
|
|
186
205
|
required_ruby_version: !ruby/object:Gem::Requirement
|
187
206
|
none: false
|
188
207
|
requirements:
|
189
|
-
- -
|
208
|
+
- - '>='
|
190
209
|
- !ruby/object:Gem::Version
|
191
210
|
version: '0'
|
192
211
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
193
212
|
none: false
|
194
213
|
requirements:
|
195
|
-
- -
|
214
|
+
- - '>='
|
196
215
|
- !ruby/object:Gem::Version
|
197
216
|
version: '0'
|
198
217
|
requirements: []
|
199
218
|
rubyforge_project: sunspot
|
200
|
-
rubygems_version: 1.8.
|
219
|
+
rubygems_version: 1.8.25
|
201
220
|
signing_key:
|
202
221
|
specification_version: 3
|
203
222
|
summary: Rails integration for the Sunspot Solr search library
|
@@ -215,11 +234,12 @@ test_files:
|
|
215
234
|
- spec/rails_template/app/models/post_with_auto.rb
|
216
235
|
- spec/rails_template/app/models/post_with_default_scope.rb
|
217
236
|
- spec/rails_template/app/models/post_with_only_some_attributes_triggering_reindex.rb
|
218
|
-
- spec/rails_template/
|
219
|
-
- spec/rails_template/config/
|
237
|
+
- spec/rails_template/app/models/rake_task_auto_load_test_model.rb
|
238
|
+
- spec/rails_template/config/database.yml
|
220
239
|
- spec/rails_template/config/routes.rb
|
221
240
|
- spec/rails_template/config/sunspot.yml
|
222
241
|
- spec/rails_template/db/schema.rb
|
242
|
+
- spec/rake_task_spec.rb
|
223
243
|
- spec/request_lifecycle_spec.rb
|
224
244
|
- spec/schema.rb
|
225
245
|
- spec/searchable_spec.rb
|
data/gemfiles/rails-3.2.11
DELETED
@@ -1,12 +0,0 @@
|
|
1
|
-
source :rubygems
|
2
|
-
|
3
|
-
gem 'rails', '3.2.11'
|
4
|
-
gem 'sqlite3', '~> 1.3.7'
|
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
|
@@ -1,127 +0,0 @@
|
|
1
|
-
if defined?(RAILS_GEM_VERSION) && RAILS_GEM_VERSION =~ /^2/ # Rails 2 only
|
2
|
-
RAILS_ROOT = "#{File.dirname(__FILE__)}/.." unless defined?(RAILS_ROOT)
|
3
|
-
|
4
|
-
module Rails
|
5
|
-
class << self
|
6
|
-
def boot!
|
7
|
-
unless booted?
|
8
|
-
preinitialize
|
9
|
-
pick_boot.run
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
13
|
-
def booted?
|
14
|
-
defined? Rails::Initializer
|
15
|
-
end
|
16
|
-
|
17
|
-
def pick_boot
|
18
|
-
(vendor_rails? ? VendorBoot : GemBoot).new
|
19
|
-
end
|
20
|
-
|
21
|
-
def vendor_rails?
|
22
|
-
File.exist?("#{RAILS_ROOT}/vendor/rails")
|
23
|
-
end
|
24
|
-
|
25
|
-
def preinitialize
|
26
|
-
load(preinitializer_path) if File.exist?(preinitializer_path)
|
27
|
-
end
|
28
|
-
|
29
|
-
def preinitializer_path
|
30
|
-
"#{RAILS_ROOT}/config/preinitializer.rb"
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
class Boot
|
35
|
-
def run
|
36
|
-
load_initializer
|
37
|
-
Rails::Initializer.run(:set_load_path)
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
class VendorBoot < Boot
|
42
|
-
def load_initializer
|
43
|
-
require "#{RAILS_ROOT}/vendor/rails/railties/lib/initializer"
|
44
|
-
Rails::Initializer.run(:install_gem_spec_stubs)
|
45
|
-
Rails::GemDependency.add_frozen_gem_path
|
46
|
-
end
|
47
|
-
end
|
48
|
-
|
49
|
-
class GemBoot < Boot
|
50
|
-
def load_initializer
|
51
|
-
self.class.load_rubygems
|
52
|
-
load_rails_gem
|
53
|
-
require 'initializer'
|
54
|
-
end
|
55
|
-
|
56
|
-
def load_rails_gem
|
57
|
-
if version = self.class.gem_version
|
58
|
-
gem 'rails', version
|
59
|
-
else
|
60
|
-
gem 'rails'
|
61
|
-
end
|
62
|
-
rescue Gem::LoadError => load_error
|
63
|
-
if load_error.message =~ /Could not find RubyGem rails/
|
64
|
-
STDERR.puts %(Missing the Rails #{version} gem. Please `gem install -v=#{version} rails`, update your RAILS_GEM_VERSION setting in config/environment.rb for the Rails version you do have installed, or comment out RAILS_GEM_VERSION to use the latest version installed.)
|
65
|
-
exit 1
|
66
|
-
else
|
67
|
-
raise
|
68
|
-
end
|
69
|
-
end
|
70
|
-
|
71
|
-
class << self
|
72
|
-
def rubygems_version
|
73
|
-
Gem::RubyGemsVersion rescue nil
|
74
|
-
end
|
75
|
-
|
76
|
-
def gem_version
|
77
|
-
if defined? RAILS_GEM_VERSION
|
78
|
-
RAILS_GEM_VERSION
|
79
|
-
elsif ENV.include?('RAILS_GEM_VERSION')
|
80
|
-
ENV['RAILS_GEM_VERSION']
|
81
|
-
else
|
82
|
-
parse_gem_version(read_environment_rb)
|
83
|
-
end
|
84
|
-
end
|
85
|
-
|
86
|
-
def load_rubygems
|
87
|
-
min_version = '1.3.2'
|
88
|
-
require 'rubygems'
|
89
|
-
unless rubygems_version >= min_version
|
90
|
-
$stderr.puts %Q(Rails requires RubyGems >= #{min_version} (you have #{rubygems_version}). Please `gem update --system` and try again.)
|
91
|
-
exit 1
|
92
|
-
end
|
93
|
-
|
94
|
-
rescue LoadError
|
95
|
-
$stderr.puts %Q(Rails requires RubyGems >= #{min_version}. Please install RubyGems and try again: http://rubygems.rubyforge.org)
|
96
|
-
exit 1
|
97
|
-
end
|
98
|
-
|
99
|
-
def parse_gem_version(text)
|
100
|
-
$1 if text =~ /^[^#]*RAILS_GEM_VERSION\s*=\s*["']([!~<>=]*\s*[\d.]+)["']/
|
101
|
-
end
|
102
|
-
|
103
|
-
private
|
104
|
-
def read_environment_rb
|
105
|
-
File.read("#{RAILS_ROOT}/config/environment.rb")
|
106
|
-
end
|
107
|
-
end
|
108
|
-
end
|
109
|
-
end
|
110
|
-
|
111
|
-
class Rails::Boot
|
112
|
-
def run
|
113
|
-
load_initializer
|
114
|
-
|
115
|
-
Rails::Initializer.class_eval do
|
116
|
-
def load_gems
|
117
|
-
@bundler_loaded ||= Bundler.require :default, Rails.env
|
118
|
-
end
|
119
|
-
end
|
120
|
-
|
121
|
-
Rails::Initializer.run(:set_load_path)
|
122
|
-
end
|
123
|
-
end
|
124
|
-
|
125
|
-
# All that for this:
|
126
|
-
Rails.boot!
|
127
|
-
end
|
@@ -1,22 +0,0 @@
|
|
1
|
-
if defined?(RAILS_GEM_VERSION) && RAILS_GEM_VERSION =~ /^2/ # Rails 2 only
|
2
|
-
begin
|
3
|
-
require "rubygems"
|
4
|
-
require "bundler"
|
5
|
-
rescue LoadError
|
6
|
-
raise "Could not load the bundler gem. Install it with `gem install bundler`."
|
7
|
-
end
|
8
|
-
|
9
|
-
if Gem::Version.new(Bundler::VERSION) <= Gem::Version.new("0.9.24")
|
10
|
-
raise RuntimeError, "Your bundler version is too old for Rails 2.3." +
|
11
|
-
"Run `gem install bundler` to upgrade."
|
12
|
-
end
|
13
|
-
|
14
|
-
begin
|
15
|
-
# Set up load paths for all bundled gems
|
16
|
-
ENV["BUNDLE_GEMFILE"] = File.expand_path("../../Gemfile", __FILE__)
|
17
|
-
Bundler.setup
|
18
|
-
rescue Bundler::GemNotFound
|
19
|
-
raise RuntimeError, "Bundler couldn't find some gems." +
|
20
|
-
"Did you run `bundle install`?"
|
21
|
-
end
|
22
|
-
end
|