elastirad 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -3
- data/README.md +9 -2
- data/VERSION +1 -1
- data/lib/elastirad/client.rb +28 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8ed4287d61f6fec0d24dd8ec37308843c640aa8d
|
4
|
+
data.tar.gz: 22007d9e84a46dc64798c2b94e405c0715dcef78
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ebeee0de92838c8c01ab3365ec6075c6888dcd16d8dadbf05d39415c271a783ba3164e3b109f45cd050f0a1e4ec75366c6e2a389557b072a58e2356f03da01e3
|
7
|
+
data.tar.gz: df343aa66cd68ce1e8fb5f6051f2ed228660e8a6de1a13a0cd05ce0463e0212f1d37544dce7b22e5a8f1ef5bdcc0d642259fd63712eab7178b6261c6b3826353
|
data/CHANGELOG.md
CHANGED
@@ -1,10 +1,15 @@
|
|
1
1
|
CHANGELOG
|
2
2
|
---------
|
3
|
+
- **2014-03-24**: 0.0.3
|
4
|
+
- Add Elastirad::Client::rad_request_all() method
|
5
|
+
- Expose Elastirad::Client::sIndex as rw accessor
|
6
|
+
|
3
7
|
- **2014-03-15**: 0.0.2
|
4
|
-
- Fix bug in #rad_index
|
5
|
-
- Fix bug for YARD README.md formatting
|
6
8
|
- Add documentation of Elasticsearch::API mixin functionality
|
7
9
|
- Add CHANGELOG.md excerpt to README.md
|
10
|
+
- Fix bug in #rad_index
|
11
|
+
- Fix bug for YARD README.md formatting
|
8
12
|
|
9
13
|
- **2014-03-14**: 0.0.1
|
10
|
-
- Initial release
|
14
|
+
- Initial release
|
15
|
+
- Custom Elasticsearch::API mixin client
|
data/README.md
CHANGED
@@ -55,6 +55,10 @@ Download and install elastirad with the following:
|
|
55
55
|
|
56
56
|
result_hash = rad.rad_request({ :path => ['article', 1 ] })
|
57
57
|
|
58
|
+
# retreive all responses for :get requests only
|
59
|
+
|
60
|
+
result_hash = rad.rad_request_all({ :path => 'article/_search' })
|
61
|
+
|
58
62
|
# optional :verb can be used for non-GET requests, :get is used by default
|
59
63
|
|
60
64
|
article = { :title => 'Hello World', :by => 'John Doe' }
|
@@ -97,11 +101,14 @@ This gem is 100% documented with YARD, an exceptional documentation library. To
|
|
97
101
|
#Change Log
|
98
102
|
-----------
|
99
103
|
|
104
|
+
- **2014-03-24**: 0.0.3
|
105
|
+
- Add Elastirad::Client::rad_request_all() method
|
106
|
+
- Expose Elastirad::Client::sIndex as rw accessor
|
100
107
|
- **2014-03-15**: 0.0.2
|
101
|
-
- Fix bug in #rad_index
|
102
|
-
- Fix bug for YARD README.md formatting
|
103
108
|
- Add documentation of Elasticsearch::API mixin functionality
|
104
109
|
- Add CHANGELOG.md excerpt to README.md
|
110
|
+
- Fix bug in #rad_index
|
111
|
+
- Fix bug for YARD README.md formatting
|
105
112
|
- **2014-03-14**: 0.0.1
|
106
113
|
- Initial release
|
107
114
|
- Custom Elasticsearch::API mixin client
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.3
|
data/lib/elastirad/client.rb
CHANGED
@@ -5,6 +5,7 @@ require 'elasticsearch/api'
|
|
5
5
|
module Elastirad
|
6
6
|
class Client
|
7
7
|
include Elasticsearch::API
|
8
|
+
attr_accessor :sIndex
|
8
9
|
|
9
10
|
def initialize(dOptions={})
|
10
11
|
iPort = iPort.to_i if iPort.is_a?(String)
|
@@ -45,6 +46,33 @@ module Elastirad
|
|
45
46
|
{'Content-Type' => 'application/json'}
|
46
47
|
end
|
47
48
|
|
49
|
+
def rad_request_all(dEsReq={})
|
50
|
+
if dEsReq.has_key?(:body)
|
51
|
+
if dEsReq[:body].is_a?(String)
|
52
|
+
dEsReqBody = dEsReq[:body] \
|
53
|
+
? MultiJson.decode( dEsResBody, :symbolize_keys => true ) : {}
|
54
|
+
dEsReq[:body] = dEsReqBody
|
55
|
+
end
|
56
|
+
else
|
57
|
+
dEsReq[:body] = {}
|
58
|
+
end
|
59
|
+
dEsReq[:body][:from] = 0
|
60
|
+
dEsRes1 = self.rad_request( dEsReq )
|
61
|
+
dEsRes = dEsRes1
|
62
|
+
if !dEsReq.has_key?(:verb) || dEsReq[:verb] == :get || dEsReq[:verb].downcase == 'get'
|
63
|
+
if dEsRes1.has_key?(:hits) && dEsRes1[:hits].has_key?(:total)
|
64
|
+
iHitsTotal = dEsRes1[:hits][:total].to_i
|
65
|
+
iHitsSize = dEsRes1[:hits][:hits].length.to_i
|
66
|
+
if iHitsTotal > iHitsSize
|
67
|
+
dEsReq[:body][:size] = iHitsTotal
|
68
|
+
dEsRes2 = self.rad_request( dEsReq )
|
69
|
+
dEsRes = dEsRes2
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
return dEsRes
|
74
|
+
end
|
75
|
+
|
48
76
|
private
|
49
77
|
|
50
78
|
def makeUrl(sProtocol='http',sHostname='localhost',iPort=9200)
|