sunspot 0.10.1 → 0.10.2

Sign up to get free protection for your applications and to get access to all the features.
data/History.txt CHANGED
@@ -1,3 +1,9 @@
1
+ == 0.10.2 2009-10-09
2
+ * Add Sunspot.config.xml_builder option, which is passed to RSolr
3
+
4
+ == 0.10.1 2009-10-08
5
+ * Fix directory bugs in sunspot-solr executable
6
+
1
7
  == 0.10.0 2009-10-08
2
8
  * Support for geographical search using LocalSolr
3
9
  * Support for keyword highlighting, with custom deferred formatting
data/VERSION.yml CHANGED
@@ -1,4 +1,4 @@
1
1
  ---
2
2
  :minor: 10
3
- :patch: 1
3
+ :patch: 2
4
4
  :major: 0
@@ -7,6 +7,11 @@ module Sunspot
7
7
  # :net_http, which is the default and uses Ruby's built-in pure-Ruby HTTP
8
8
  # library; and :curb, which uses Ruby's libcurl bindings and requires
9
9
  # installation of the 'curb' gem.
10
+ # Sunspot.config.xml_builder::
11
+ # The library use to build XML messages sent to Solr. As of this writing the
12
+ # options are :builder and :libxml - the latter is faster but less portable,
13
+ # as it is native code. Check the documentation for RSolr::Message::Adapter
14
+ # for more information.
10
15
  # Sunspot.config.solr.url::
11
16
  # The URL at which to connect to Solr
12
17
  # (default: 'http://localhost:8983/solr')
@@ -25,6 +30,8 @@ module Sunspot
25
30
  def build #:nodoc:
26
31
  LightConfig.build do
27
32
  http_client :net_http
33
+ xml_builder :builder
34
+
28
35
  solr do
29
36
  url 'http://127.0.0.1:8983/solr'
30
37
  end
@@ -188,7 +188,15 @@ module Sunspot
188
188
  def connection
189
189
  @connection ||=
190
190
  begin
191
- self.class.connection_class.connect(:url => config.solr.url, :adapter => config.http_client)
191
+ connection = self.class.connection_class.connect(
192
+ :url => config.solr.url,
193
+ :adapter => config.http_client
194
+ )
195
+ connection.message.adapter =
196
+ RSolr::Message::Adapter.const_get(
197
+ Util.camel_case(config.xml_builder.to_s)
198
+ ).new
199
+ connection
192
200
  end
193
201
  end
194
202
 
@@ -86,6 +86,12 @@ describe 'Session' do
86
86
  Sunspot.commit
87
87
  connection.adapter.should == :curb
88
88
  end
89
+
90
+ it 'should use LibXML builder when specified' do
91
+ Sunspot.config.xml_builder = :libxml
92
+ Sunspot.commit
93
+ connection.message.adapter.should be_a(RSolr::Message::Adapter::Libxml)
94
+ end
89
95
  end
90
96
 
91
97
  context 'custom session' do
@@ -22,11 +22,12 @@ module Mock
22
22
  end
23
23
 
24
24
  class Connection
25
- attr_reader :adds, :commits, :searches
25
+ attr_reader :adds, :commits, :searches, :message
26
26
  attr_accessor :adapter, :opts
27
27
 
28
28
  def initialize(adapter = nil, opts = nil)
29
29
  @adapter, @opts = adapter, opts
30
+ @message = OpenStruct.new
30
31
  @adds, @deletes, @deletes_by_query, @commits, @searches = Array.new(5) { [] }
31
32
  end
32
33
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sunspot
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.1
4
+ version: 0.10.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mat Brown
@@ -17,7 +17,7 @@ autorequire:
17
17
  bindir: bin
18
18
  cert_chain: []
19
19
 
20
- date: 2009-10-08 00:00:00 -04:00
20
+ date: 2009-10-09 00:00:00 -04:00
21
21
  default_executable:
22
22
  dependencies:
23
23
  - !ruby/object:Gem::Dependency