solr4r 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/ChangeLog +5 -0
- data/README +5 -4
- data/Rakefile +3 -3
- data/TODO +0 -1
- data/lib/solr4r/client.rb +11 -13
- data/lib/solr4r/request.rb +79 -60
- data/lib/solr4r/request_extension.rb +44 -0
- data/lib/solr4r/response.rb +16 -23
- data/lib/solr4r/uri_extension.rb +57 -0
- data/lib/solr4r/version.rb +1 -1
- metadata +46 -21
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 586864696853144c04da2e5cea908d23f165ac93
|
4
|
+
data.tar.gz: a8b43ec8857d0a4d78ad29d659599e3460cac848
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b5cf30799e4a101d6eaddbdc7e80b9df1fc77c05f9c19a8c83e99d8880c229d76b0ac26f60ea7cc0229cdb970014b4a37d00dbd65507a9615dc179adb9172b4d
|
7
|
+
data.tar.gz: 5c821ebf42f7be62f81229adbb328f43e179a198aba53c91fa818f023e85532f8e970c8444608ad18a677ef17b156fc437c38007a16e3fac5ecf03752252af59
|
data/ChangeLog
CHANGED
data/README
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
== VERSION
|
4
4
|
|
5
|
-
This documentation refers to solr4r version 0.0.
|
5
|
+
This documentation refers to solr4r version 0.0.2
|
6
6
|
|
7
7
|
|
8
8
|
== DESCRIPTION
|
@@ -12,9 +12,10 @@ TODO
|
|
12
12
|
|
13
13
|
== LINKS
|
14
14
|
|
15
|
-
Documentation::
|
16
|
-
Source code::
|
17
|
-
RubyGem::
|
15
|
+
Documentation:: https://blackwinter.github.io/solr4r/
|
16
|
+
Source code:: https://github.com/blackwinter/solr4r
|
17
|
+
RubyGem:: https://rubygems.org/gems/solr4r
|
18
|
+
Travis CI:: https://travis-ci.org/blackwinter/solr4r
|
18
19
|
|
19
20
|
|
20
21
|
== AUTHORS
|
data/Rakefile
CHANGED
@@ -7,13 +7,13 @@ begin
|
|
7
7
|
gem: {
|
8
8
|
name: %q{solr4r},
|
9
9
|
version: Solr4R::VERSION,
|
10
|
-
summary: %q{A Ruby client for Apache Solr},
|
11
|
-
description: %q{Access the Apache Solr search server from Ruby},
|
10
|
+
summary: %q{A Ruby client for Apache Solr.},
|
11
|
+
description: %q{Access the Apache Solr search server from Ruby.},
|
12
12
|
author: %q{Jens Wille},
|
13
13
|
email: %q{jens.wille@gmail.com},
|
14
14
|
license: %q{AGPL-3.0},
|
15
15
|
homepage: :blackwinter,
|
16
|
-
dependencies: {
|
16
|
+
dependencies: { nokogiri: '~> 1.6' },
|
17
17
|
|
18
18
|
required_ruby_version: '>= 1.9.3'
|
19
19
|
}
|
data/TODO
CHANGED
data/lib/solr4r/client.rb
CHANGED
@@ -23,14 +23,12 @@
|
|
23
23
|
###############################################################################
|
24
24
|
#++
|
25
25
|
|
26
|
-
require 'uri'
|
27
|
-
|
28
26
|
module Solr4R
|
29
27
|
|
30
28
|
class Client
|
31
29
|
|
32
30
|
DEFAULT_HOST = 'localhost'
|
33
|
-
DEFAULT_PATH = 'solr
|
31
|
+
DEFAULT_PATH = 'solr'
|
34
32
|
DEFAULT_PORT = 8983
|
35
33
|
|
36
34
|
DEFAULT_PARAMS = {
|
@@ -49,22 +47,22 @@ module Solr4R
|
|
49
47
|
|
50
48
|
def initialize(options = {})
|
51
49
|
if options.is_a?(String)
|
52
|
-
|
50
|
+
uri, options = options, {}
|
53
51
|
else
|
54
|
-
|
52
|
+
uri = options.fetch(:uri, default_uri(options))
|
55
53
|
end
|
56
54
|
|
57
|
-
self.
|
55
|
+
self.options = options
|
58
56
|
|
59
|
-
self.request = options.fetch(:request, Request.new)
|
60
57
|
self.builder = options.fetch(:builder, Builder.new)
|
58
|
+
self.request = options.fetch(:request, Request.new(uri))
|
61
59
|
|
62
60
|
self.default_params = options.fetch(:default_params, DEFAULT_PARAMS)
|
63
61
|
|
64
62
|
register_endpoints(options.fetch(:endpoints, DEFAULT_ENDPOINTS))
|
65
63
|
end
|
66
64
|
|
67
|
-
attr_accessor :
|
65
|
+
attr_accessor :options, :builder, :request, :default_params
|
68
66
|
|
69
67
|
def register_endpoints(endpoints)
|
70
68
|
endpoints.each { |args| register_endpoint(*args) } if endpoints
|
@@ -150,14 +148,14 @@ module Solr4R
|
|
150
148
|
end
|
151
149
|
|
152
150
|
def inspect
|
153
|
-
'#<%s:0x%x @
|
154
|
-
self.class, object_id,
|
151
|
+
'#<%s:0x%x @default_params=%p %s>' % [
|
152
|
+
self.class, object_id, default_params, request.request_line
|
155
153
|
]
|
156
154
|
end
|
157
155
|
|
158
156
|
private
|
159
157
|
|
160
|
-
def
|
158
|
+
def default_uri(options)
|
161
159
|
'http://%s:%d/%s' % [
|
162
160
|
options.fetch(:host, DEFAULT_HOST),
|
163
161
|
options.fetch(:port, DEFAULT_PORT),
|
@@ -170,8 +168,8 @@ module Solr4R
|
|
170
168
|
end
|
171
169
|
|
172
170
|
def send_request(path, options, &block)
|
173
|
-
|
174
|
-
|
171
|
+
request.execute(path,
|
172
|
+
amend_options(options, :params, default_params), &block)
|
175
173
|
end
|
176
174
|
|
177
175
|
def invalid_endpoint?(name)
|
data/lib/solr4r/request.rb
CHANGED
@@ -23,98 +23,117 @@
|
|
23
23
|
###############################################################################
|
24
24
|
#++
|
25
25
|
|
26
|
-
require '
|
26
|
+
require 'net/https'
|
27
|
+
|
28
|
+
require_relative 'request_extension'
|
29
|
+
require_relative 'uri_extension'
|
27
30
|
|
28
31
|
module Solr4R
|
29
32
|
|
30
|
-
class Request
|
33
|
+
class Request
|
31
34
|
|
32
|
-
|
35
|
+
DEFAULT_METHOD = :get
|
33
36
|
|
34
37
|
DEFAULT_USER_AGENT = "Solr4R/#{VERSION}"
|
35
38
|
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
header_str: :response_header,
|
48
|
-
response_code: :response_code
|
49
|
-
}
|
50
|
-
|
51
|
-
def initialize(options = {})
|
52
|
-
if block_given?
|
53
|
-
raise ArgumentError,
|
54
|
-
'block argument not supported, use options hash instead'
|
55
|
-
end
|
39
|
+
def initialize(base_uri, http_options = {})
|
40
|
+
self.base_uri, self.http_options =
|
41
|
+
URI(base_uri).extend(BaseUriExtension), http_options
|
42
|
+
end
|
43
|
+
|
44
|
+
def start
|
45
|
+
self.http = Net::HTTP.start(base_uri.hostname, base_uri.port,
|
46
|
+
{ use_ssl: base_uri.scheme == 'https' }.merge(http_options))
|
47
|
+
|
48
|
+
self
|
49
|
+
end
|
56
50
|
|
57
|
-
|
51
|
+
def finish
|
52
|
+
http.finish if started?
|
53
|
+
self
|
54
|
+
end
|
58
55
|
|
59
|
-
|
60
|
-
|
56
|
+
def started?
|
57
|
+
http && http.started?
|
61
58
|
end
|
62
59
|
|
63
|
-
|
60
|
+
def execute(path, options = {}, &block)
|
61
|
+
start unless started?
|
64
62
|
|
65
|
-
|
66
|
-
prepare_request(request_url, options, &block)
|
63
|
+
self.last_response = nil
|
67
64
|
|
68
|
-
|
65
|
+
req = prepare_request(path, options, &block)
|
66
|
+
res = http.request(req)
|
69
67
|
|
70
|
-
Response.new
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
68
|
+
self.last_response = Response.new(
|
69
|
+
request_body: req.body,
|
70
|
+
request_headers: req.to_hash,
|
71
|
+
request_method: req.method.downcase.to_sym,
|
72
|
+
request_params: req.params,
|
73
|
+
request_url: req.uri.to_s,
|
74
|
+
|
75
|
+
response_body: res.body,
|
76
|
+
response_charset: res.type_params['charset'],
|
77
|
+
response_code: res.code.to_i,
|
78
|
+
response_headers: res.to_hash
|
79
|
+
)
|
75
80
|
end
|
76
81
|
|
77
|
-
def
|
78
|
-
|
79
|
-
set_options
|
80
|
-
headers['User-Agent'] ||= DEFAULT_USER_AGENT
|
81
|
-
}
|
82
|
+
def request_line
|
83
|
+
last_response ? last_response.request_line : "[#{base_uri}]"
|
82
84
|
end
|
83
85
|
|
84
86
|
def inspect
|
85
|
-
'#<%s:0x%x
|
86
|
-
self.class, object_id, options, verb, url, response_code
|
87
|
-
]
|
87
|
+
'#<%s:0x%x %s>' % [self.class, object_id, request_line]
|
88
88
|
end
|
89
89
|
|
90
90
|
private
|
91
91
|
|
92
|
-
|
93
|
-
|
94
|
-
|
92
|
+
attr_accessor :base_uri, :http_options, :http, :last_response
|
93
|
+
|
94
|
+
def prepare_request(path, options)
|
95
|
+
uri = make_uri(path, options.fetch(:params, {}))
|
96
|
+
|
97
|
+
req = make_request(uri,
|
98
|
+
options.fetch(:method, DEFAULT_METHOD),
|
99
|
+
options.fetch(:data, {}))
|
95
100
|
|
96
|
-
|
97
|
-
|
101
|
+
set_headers(req, options.fetch(:headers, {}))
|
102
|
+
|
103
|
+
yield req if block_given?
|
104
|
+
|
105
|
+
req
|
106
|
+
end
|
98
107
|
|
99
|
-
|
100
|
-
|
108
|
+
def make_uri(path, params)
|
109
|
+
base_uri.merge(path).extend(RequestUriExtension).with_params(params)
|
110
|
+
end
|
101
111
|
|
102
|
-
|
112
|
+
def make_request(uri, method, data)
|
113
|
+
case method
|
103
114
|
when :get, :head
|
104
|
-
|
105
|
-
when :post
|
106
|
-
|
107
|
-
|
108
|
-
self.put_data = Curl.postalize(options[:data])
|
115
|
+
req = request_for(method, uri)
|
116
|
+
when :post
|
117
|
+
req = request_for(method, uri)
|
118
|
+
req.set_form_data(data)
|
109
119
|
else
|
110
|
-
raise ArgumentError, "
|
120
|
+
raise ArgumentError, "method not supported: #{method}"
|
111
121
|
end
|
112
122
|
|
113
|
-
|
123
|
+
req
|
124
|
+
end
|
125
|
+
|
126
|
+
def request_for(method, uri)
|
127
|
+
Net::HTTP.const_get(method.to_s.capitalize)
|
128
|
+
.extend(HTTPRequestExtension).from_uri(uri)
|
129
|
+
end
|
114
130
|
|
115
|
-
|
131
|
+
def set_headers(req, headers)
|
132
|
+
req['User-Agent'] = DEFAULT_USER_AGENT
|
116
133
|
|
117
|
-
|
134
|
+
headers.each { |key, value|
|
135
|
+
Array(value).each { |val| req.add_field(key, val) }
|
136
|
+
}
|
118
137
|
end
|
119
138
|
|
120
139
|
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
#--
|
4
|
+
###############################################################################
|
5
|
+
# #
|
6
|
+
# solr4r -- A Ruby client for Apache Solr #
|
7
|
+
# #
|
8
|
+
# Copyright (C) 2014 Jens Wille #
|
9
|
+
# #
|
10
|
+
# Mir is free software: you can redistribute it and/or modify it under the #
|
11
|
+
# terms of the GNU Affero General Public License as published by the Free #
|
12
|
+
# Software Foundation, either version 3 of the License, or (at your option) #
|
13
|
+
# any later version. #
|
14
|
+
# #
|
15
|
+
# solr4r is distributed in the hope that it will be useful, but WITHOUT ANY #
|
16
|
+
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS #
|
17
|
+
# FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for #
|
18
|
+
# more details. #
|
19
|
+
# #
|
20
|
+
# You should have received a copy of the GNU Affero General Public License #
|
21
|
+
# along with solr4r. If not, see <http://www.gnu.org/licenses/>. #
|
22
|
+
# #
|
23
|
+
###############################################################################
|
24
|
+
#++
|
25
|
+
|
26
|
+
require 'cgi'
|
27
|
+
|
28
|
+
module Solr4R
|
29
|
+
|
30
|
+
module HTTPRequestExtension
|
31
|
+
|
32
|
+
def self.extended(base)
|
33
|
+
base.send(:attr_accessor, :params)
|
34
|
+
end
|
35
|
+
|
36
|
+
def from_uri(uri)
|
37
|
+
req = new(uri)
|
38
|
+
req.params = uri.params
|
39
|
+
req
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
43
|
+
|
44
|
+
end
|
data/lib/solr4r/response.rb
CHANGED
@@ -24,42 +24,39 @@
|
|
24
24
|
#++
|
25
25
|
|
26
26
|
require 'json'
|
27
|
-
require 'ostruct'
|
28
|
-
require 'webrick'
|
29
27
|
|
30
28
|
module Solr4R
|
31
29
|
|
32
|
-
class Response
|
33
|
-
|
34
|
-
REQUEST_LINE = %r{\AHTTP/.*\r?\n?}
|
35
|
-
|
36
|
-
CHARSET_RE = %r{;\s*charset=([\w-]+)}
|
30
|
+
class Response
|
37
31
|
|
38
32
|
DEFAULT_CHARSET = 'UTF-8'
|
39
33
|
|
40
|
-
|
41
|
-
|
42
|
-
|
34
|
+
EVALUATE_METHODS = [:get, :post]
|
35
|
+
|
36
|
+
def initialize(options)
|
37
|
+
options.each { |key, value| send("#{key}=", value) }
|
38
|
+
@evaluate = EVALUATE_METHODS.include?(request_method)
|
43
39
|
end
|
44
40
|
|
45
|
-
|
46
|
-
|
41
|
+
attr_accessor :response_body, :response_charset, :response_code, :response_headers,
|
42
|
+
:request_body, :request_method, :request_params, :request_url, :request_headers
|
43
|
+
|
44
|
+
def request_line
|
45
|
+
'"%s %s" %d' % [request_method.upcase, request_url, response_code]
|
47
46
|
end
|
48
47
|
|
49
|
-
def
|
50
|
-
@
|
48
|
+
def result(options = {})
|
49
|
+
@result ||= evaluate_result(options) if @evaluate
|
51
50
|
end
|
52
51
|
|
53
52
|
def num_found
|
54
|
-
@num_found ||= evaluate_count('numFound')
|
53
|
+
@num_found ||= evaluate_count('numFound') if @evaluate
|
55
54
|
end
|
56
55
|
|
57
|
-
|
58
|
-
@charset ||= response_headers.fetch('content-type')[0][CHARSET_RE, 1]
|
59
|
-
end
|
56
|
+
alias_method :to_i, :num_found
|
60
57
|
|
61
58
|
def to_s
|
62
|
-
@to_s ||= response_body.to_s.force_encoding(
|
59
|
+
@to_s ||= response_body.to_s.force_encoding(response_charset || DEFAULT_CHARSET)
|
63
60
|
end
|
64
61
|
|
65
62
|
def inspect
|
@@ -79,10 +76,6 @@ module Solr4R
|
|
79
76
|
end
|
80
77
|
end
|
81
78
|
|
82
|
-
def evaluate_header
|
83
|
-
WEBrick::HTTPUtils.parse_header(response_header.sub(REQUEST_LINE, ''))
|
84
|
-
end
|
85
|
-
|
86
79
|
def evaluate_count(name)
|
87
80
|
case wt = request_params[:wt]
|
88
81
|
# numFound="35"
|
@@ -0,0 +1,57 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
#--
|
4
|
+
###############################################################################
|
5
|
+
# #
|
6
|
+
# solr4r -- A Ruby client for Apache Solr #
|
7
|
+
# #
|
8
|
+
# Copyright (C) 2014 Jens Wille #
|
9
|
+
# #
|
10
|
+
# Mir is free software: you can redistribute it and/or modify it under the #
|
11
|
+
# terms of the GNU Affero General Public License as published by the Free #
|
12
|
+
# Software Foundation, either version 3 of the License, or (at your option) #
|
13
|
+
# any later version. #
|
14
|
+
# #
|
15
|
+
# solr4r is distributed in the hope that it will be useful, but WITHOUT ANY #
|
16
|
+
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS #
|
17
|
+
# FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for #
|
18
|
+
# more details. #
|
19
|
+
# #
|
20
|
+
# You should have received a copy of the GNU Affero General Public License #
|
21
|
+
# along with solr4r. If not, see <http://www.gnu.org/licenses/>. #
|
22
|
+
# #
|
23
|
+
###############################################################################
|
24
|
+
#++
|
25
|
+
|
26
|
+
require 'cgi'
|
27
|
+
|
28
|
+
module Solr4R
|
29
|
+
|
30
|
+
module BaseUriExtension
|
31
|
+
|
32
|
+
def self.extended(uri)
|
33
|
+
uri.path << '/' unless uri.path.end_with?('/')
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
37
|
+
|
38
|
+
module RequestUriExtension
|
39
|
+
|
40
|
+
attr_accessor :params
|
41
|
+
|
42
|
+
def with_params(params)
|
43
|
+
self.params, query = params, [self.query].compact
|
44
|
+
|
45
|
+
params.each { |key, value|
|
46
|
+
key = URI.escape(key.to_s)
|
47
|
+
Array(value).each { |val| query << "#{key}=#{CGI.escape(val.to_s)}" }
|
48
|
+
}
|
49
|
+
|
50
|
+
self.query = query.join('&') unless query.empty?
|
51
|
+
|
52
|
+
self
|
53
|
+
end
|
54
|
+
|
55
|
+
end
|
56
|
+
|
57
|
+
end
|
data/lib/solr4r/version.rb
CHANGED
metadata
CHANGED
@@ -1,50 +1,72 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: solr4r
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jens Wille
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-04-
|
11
|
+
date: 2014-04-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: nokogiri
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
20
|
-
- - ">"
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
version: 0.8.5
|
19
|
+
version: '1.6'
|
23
20
|
type: :runtime
|
24
21
|
prerelease: false
|
25
22
|
version_requirements: !ruby/object:Gem::Requirement
|
26
23
|
requirements:
|
27
24
|
- - "~>"
|
28
25
|
- !ruby/object:Gem::Version
|
29
|
-
version: '
|
30
|
-
|
26
|
+
version: '1.6'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: hen
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
31
32
|
- !ruby/object:Gem::Version
|
32
|
-
version: 0
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
33
41
|
- !ruby/object:Gem::Dependency
|
34
|
-
name:
|
42
|
+
name: rake
|
35
43
|
requirement: !ruby/object:Gem::Requirement
|
36
44
|
requirements:
|
37
|
-
- - "
|
45
|
+
- - ">="
|
38
46
|
- !ruby/object:Gem::Version
|
39
|
-
version: '
|
40
|
-
type: :
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
41
49
|
prerelease: false
|
42
50
|
version_requirements: !ruby/object:Gem::Requirement
|
43
51
|
requirements:
|
44
|
-
- - "
|
52
|
+
- - ">="
|
45
53
|
- !ruby/object:Gem::Version
|
46
|
-
version: '
|
47
|
-
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rspec
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
description: Access the Apache Solr search server from Ruby.
|
48
70
|
email: jens.wille@gmail.com
|
49
71
|
executables: []
|
50
72
|
extensions: []
|
@@ -62,7 +84,9 @@ files:
|
|
62
84
|
- lib/solr4r/builder.rb
|
63
85
|
- lib/solr4r/client.rb
|
64
86
|
- lib/solr4r/request.rb
|
87
|
+
- lib/solr4r/request_extension.rb
|
65
88
|
- lib/solr4r/response.rb
|
89
|
+
- lib/solr4r/uri_extension.rb
|
66
90
|
- lib/solr4r/version.rb
|
67
91
|
- spec/solr4r/builder_spec.rb
|
68
92
|
- spec/spec_helper.rb
|
@@ -72,13 +96,14 @@ licenses:
|
|
72
96
|
metadata: {}
|
73
97
|
post_install_message: |2+
|
74
98
|
|
75
|
-
solr4r-0.0.
|
99
|
+
solr4r-0.0.2 [2014-04-17]:
|
76
100
|
|
77
|
-
*
|
101
|
+
* Refactored Solr4R::Request away from curb.
|
102
|
+
* Refactored Solr4R::Response away from ostruct.
|
78
103
|
|
79
104
|
rdoc_options:
|
80
105
|
- "--title"
|
81
|
-
- solr4r Application documentation (v0.0.
|
106
|
+
- solr4r Application documentation (v0.0.2)
|
82
107
|
- "--charset"
|
83
108
|
- UTF-8
|
84
109
|
- "--line-numbers"
|
@@ -102,5 +127,5 @@ rubyforge_project:
|
|
102
127
|
rubygems_version: 2.2.2
|
103
128
|
signing_key:
|
104
129
|
specification_version: 4
|
105
|
-
summary: A Ruby client for Apache Solr
|
130
|
+
summary: A Ruby client for Apache Solr.
|
106
131
|
test_files: []
|