spree_solr_search 0.30.0 → 0.40.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/Rakefile +2 -2
- data/VERSION +1 -1
- data/lib/spree/search/solr.rb +1 -0
- data/lib/spree_solr_search.rb +1 -1
- data/lib/websolr_acts_as_solr.rb +53 -0
- data/spree_solr_search.gemspec +9 -8
- metadata +8 -7
data/Rakefile
CHANGED
@@ -21,8 +21,8 @@ Jeweler::Tasks.new do |s|
|
|
21
21
|
s.email = "roman@railsdog.com"
|
22
22
|
s.homepage = "http://github.com/romul/spree-solr-search"
|
23
23
|
s.authors = ["Roman Smirnov"]
|
24
|
-
s.add_dependency 'spree_core', ['>= 0.30.
|
25
|
-
s.add_dependency 'acts_as_solr_reloaded', ['>= 1.
|
24
|
+
s.add_dependency 'spree_core', ['>= 0.30.1']
|
25
|
+
s.add_dependency 'acts_as_solr_reloaded', ['>= 1.5.0']
|
26
26
|
s.has_rdoc = false
|
27
27
|
#s.extra_rdoc_files = [ "README.rdoc"]
|
28
28
|
#s.rdoc_options = ["--main", "README.rdoc", "--inline-source", "--line-numbers"]
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.40.0
|
data/lib/spree/search/solr.rb
CHANGED
@@ -50,6 +50,7 @@ module Spree::Search
|
|
50
50
|
facets = []
|
51
51
|
price_ranges = YAML::load(Spree::Config[:product_price_ranges])
|
52
52
|
facets_hash["facet_fields"].each do |name, options|
|
53
|
+
options = Hash[*options.flatten] if options.is_a?(Array)
|
53
54
|
next if options.size <= 1
|
54
55
|
facet = Facet.new(name.sub('_facet', ''))
|
55
56
|
if name == 'price_range_facet'
|
data/lib/spree_solr_search.rb
CHANGED
@@ -0,0 +1,53 @@
|
|
1
|
+
require "acts_as_solr"
|
2
|
+
|
3
|
+
if ENV["WEBSOLR_URL"]
|
4
|
+
require "json"
|
5
|
+
require "net/http"
|
6
|
+
require "uri"
|
7
|
+
|
8
|
+
api_key = ENV["WEBSOLR_URL"][/[0-9a-f]{11}/] or raise "Invalid WEBSOLR_URL: bad or no api key"
|
9
|
+
|
10
|
+
ENV["WEBSOLR_CONFIG_HOST"] ||= "www.websolr.com"
|
11
|
+
|
12
|
+
@pending = true
|
13
|
+
Rails.logger.info "Checking index availability..."
|
14
|
+
|
15
|
+
begin
|
16
|
+
schema_url = URI.parse("http://#{ENV["WEBSOLR_CONFIG_HOST"]}/schema/#{api_key}.json")
|
17
|
+
response = Net::HTTP.post_form(schema_url, "client" => "acts_as_solr-1.3")
|
18
|
+
json = JSON.parse(response.body.to_s)
|
19
|
+
|
20
|
+
case json["status"]
|
21
|
+
when "ok"
|
22
|
+
Rails.logger.info "Index is available!"
|
23
|
+
@pending = false
|
24
|
+
when "pending"
|
25
|
+
Rails.logger.info "Provisioning index, things may not be working for a few seconds ..."
|
26
|
+
sleep 5
|
27
|
+
when "error"
|
28
|
+
Rails.logger.error json["message"]
|
29
|
+
@pending = false
|
30
|
+
else
|
31
|
+
Rails.logger.error "wtf: #{json.inspect}"
|
32
|
+
end
|
33
|
+
rescue Exception => e
|
34
|
+
STDERR.puts "Error checking index status. It may or may not be available.\n" +
|
35
|
+
"Please email support@onemorecloud.com if this problem persists.\n" +
|
36
|
+
"Exception: #{e.message}"
|
37
|
+
end
|
38
|
+
|
39
|
+
module ActsAsSolr
|
40
|
+
class Post
|
41
|
+
def self.execute(request, core = nil)
|
42
|
+
begin
|
43
|
+
connection = Solr::Connection.new(ENV["WEBSOLR_URL"])
|
44
|
+
return connection.send(request)
|
45
|
+
rescue Exception => e
|
46
|
+
STDERR.puts "Couldn't connect to the Solr server at #{ENV["WEBSOLR_URL"]}. #{$!}\n" +
|
47
|
+
"Request: #{request.inspect}"
|
48
|
+
false
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
data/spree_solr_search.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{spree_solr_search}
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "0.40.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Roman Smirnov"]
|
12
|
-
s.date = %q{2011-
|
12
|
+
s.date = %q{2011-02-22}
|
13
13
|
s.description = %q{Provides search via Apache Solr for a Spree store.}
|
14
14
|
s.email = %q{roman@railsdog.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -34,6 +34,7 @@ Gem::Specification.new do |s|
|
|
34
34
|
"lib/spree_solr_search.rb",
|
35
35
|
"lib/spree_solr_search_hooks.rb",
|
36
36
|
"lib/tasks/acts_as_solr.rake",
|
37
|
+
"lib/websolr_acts_as_solr.rb",
|
37
38
|
"spree_solr_search.gemspec"
|
38
39
|
]
|
39
40
|
s.homepage = %q{http://github.com/romul/spree-solr-search}
|
@@ -47,15 +48,15 @@ Gem::Specification.new do |s|
|
|
47
48
|
s.specification_version = 3
|
48
49
|
|
49
50
|
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
50
|
-
s.add_runtime_dependency(%q<spree_core>, [">= 0.30.
|
51
|
-
s.add_runtime_dependency(%q<acts_as_solr_reloaded>, [">= 1.
|
51
|
+
s.add_runtime_dependency(%q<spree_core>, [">= 0.30.1"])
|
52
|
+
s.add_runtime_dependency(%q<acts_as_solr_reloaded>, [">= 1.5.0"])
|
52
53
|
else
|
53
|
-
s.add_dependency(%q<spree_core>, [">= 0.30.
|
54
|
-
s.add_dependency(%q<acts_as_solr_reloaded>, [">= 1.
|
54
|
+
s.add_dependency(%q<spree_core>, [">= 0.30.1"])
|
55
|
+
s.add_dependency(%q<acts_as_solr_reloaded>, [">= 1.5.0"])
|
55
56
|
end
|
56
57
|
else
|
57
|
-
s.add_dependency(%q<spree_core>, [">= 0.30.
|
58
|
-
s.add_dependency(%q<acts_as_solr_reloaded>, [">= 1.
|
58
|
+
s.add_dependency(%q<spree_core>, [">= 0.30.1"])
|
59
|
+
s.add_dependency(%q<acts_as_solr_reloaded>, [">= 1.5.0"])
|
59
60
|
end
|
60
61
|
end
|
61
62
|
|
metadata
CHANGED
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
|
|
4
4
|
prerelease: false
|
5
5
|
segments:
|
6
6
|
- 0
|
7
|
-
-
|
7
|
+
- 40
|
8
8
|
- 0
|
9
|
-
version: 0.
|
9
|
+
version: 0.40.0
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Roman Smirnov
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2011-
|
17
|
+
date: 2011-02-22 00:00:00 +03:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
@@ -27,8 +27,8 @@ dependencies:
|
|
27
27
|
segments:
|
28
28
|
- 0
|
29
29
|
- 30
|
30
|
-
-
|
31
|
-
version: 0.30.
|
30
|
+
- 1
|
31
|
+
version: 0.30.1
|
32
32
|
type: :runtime
|
33
33
|
version_requirements: *id001
|
34
34
|
- !ruby/object:Gem::Dependency
|
@@ -40,9 +40,9 @@ dependencies:
|
|
40
40
|
- !ruby/object:Gem::Version
|
41
41
|
segments:
|
42
42
|
- 1
|
43
|
-
-
|
43
|
+
- 5
|
44
44
|
- 0
|
45
|
-
version: 1.
|
45
|
+
version: 1.5.0
|
46
46
|
type: :runtime
|
47
47
|
version_requirements: *id002
|
48
48
|
description: Provides search via Apache Solr for a Spree store.
|
@@ -72,6 +72,7 @@ files:
|
|
72
72
|
- lib/spree_solr_search.rb
|
73
73
|
- lib/spree_solr_search_hooks.rb
|
74
74
|
- lib/tasks/acts_as_solr.rake
|
75
|
+
- lib/websolr_acts_as_solr.rb
|
75
76
|
- spree_solr_search.gemspec
|
76
77
|
has_rdoc: true
|
77
78
|
homepage: http://github.com/romul/spree-solr-search
|