algoliasearch 1.1.8 → 1.1.9

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6e5c089266fdf23e0ad55f0e3abb8dd3df34c43c
4
- data.tar.gz: 65779ff387f443477c45e4c816e52eca744873aa
3
+ metadata.gz: b8882d4f271cee303c8d2e1f5a07abc0d19036e5
4
+ data.tar.gz: a06efbbc79ed53a94820edb418df4aafbea45caa
5
5
  SHA512:
6
- metadata.gz: 640ba343d66fe502329d83e2e3d2c14503553f55e752af61d96997c84e0ffa8890709a2b8e3cc3df5bca303c2b2e2eb9ed9cfc99efcdf04422ff2f085362d8d1
7
- data.tar.gz: 789b36b476cad2407a5a0ae8ac2ba38533d59d08d3edb1e3ce23d5197ed60d05954401b9d12b109bddd58b2c9a2933a5d1643b54af9d5b5006e1fb0aeb046d2b
6
+ metadata.gz: 512669deeac5deb73c644ca50c0ba67f1728f2238835cf487b3f99fe8a25ce019b85a6aefa12b7ab034ca60e729d391f5471290a21e87b1103559feb45fd4a3a
7
+ data.tar.gz: fcfb7cd72481579b62d51937b19bcae24f7e01399a457d0d1a636f211adb49781584f2b0d0abe1912b2c243c6e71a0a5767d76acf10a99f1b6d5df93c7ff2111
@@ -5,7 +5,7 @@ branches:
5
5
  rvm:
6
6
  - 2.0.0
7
7
  - 1.9.3
8
- - rbx-19mode
8
+ - rbx-2.2.1
9
9
  env:
10
10
  global:
11
11
  - secure: lBLtTjQyeJW7+TWgGmf1mmsXgUzsTnq3/KHvCk+BvOGwoHXTBR1Y6yiczWWHEP4/wBeXXm31xUQC+VoYc/7Ev/2NNB/mqlXAgGw+D0nwQriNXjYt1WV6lQvyoiaUzQ+w+7VahWdx0LuKvSYI+khe8M8BfHQqYacu0VlpAUnjb2I=
data/Gemfile CHANGED
@@ -2,6 +2,7 @@ source "http://rubygems.org"
2
2
 
3
3
  gem "curb"
4
4
 
5
+ gem 'rubysl', platform: :rbx
5
6
  group :development do
6
7
  gem "bundler"
7
8
  gem "jeweler"
@@ -21,6 +21,7 @@ GEM
21
21
  faraday_middleware (0.9.0)
22
22
  faraday (>= 0.7.4, < 0.9)
23
23
  ffi (1.9.0)
24
+ ffi2-generators (0.1.1)
24
25
  gh (0.13.0)
25
26
  addressable
26
27
  backports
@@ -90,6 +91,208 @@ GEM
90
91
  diff-lcs (>= 1.1.3, < 2.0)
91
92
  rspec-mocks (2.14.3)
92
93
  ruby-hmac (0.4.0)
94
+ rubysl (2.0.15)
95
+ rubysl-abbrev (~> 2.0)
96
+ rubysl-base64 (~> 2.0)
97
+ rubysl-benchmark (~> 2.0)
98
+ rubysl-bigdecimal (~> 2.0)
99
+ rubysl-cgi (~> 2.0)
100
+ rubysl-cgi-session (~> 2.0)
101
+ rubysl-cmath (~> 2.0)
102
+ rubysl-complex (~> 2.0)
103
+ rubysl-continuation (~> 2.0)
104
+ rubysl-coverage (~> 2.0)
105
+ rubysl-csv (~> 2.0)
106
+ rubysl-curses (~> 2.0)
107
+ rubysl-date (~> 2.0)
108
+ rubysl-delegate (~> 2.0)
109
+ rubysl-digest (~> 2.0)
110
+ rubysl-drb (~> 2.0)
111
+ rubysl-e2mmap (~> 2.0)
112
+ rubysl-english (~> 2.0)
113
+ rubysl-enumerator (~> 2.0)
114
+ rubysl-erb (~> 2.0)
115
+ rubysl-etc (~> 2.0)
116
+ rubysl-expect (~> 2.0)
117
+ rubysl-fcntl (~> 2.0)
118
+ rubysl-fiber (~> 2.0)
119
+ rubysl-fileutils (~> 2.0)
120
+ rubysl-find (~> 2.0)
121
+ rubysl-forwardable (~> 2.0)
122
+ rubysl-getoptlong (~> 2.0)
123
+ rubysl-gserver (~> 2.0)
124
+ rubysl-io-console (~> 2.0)
125
+ rubysl-io-nonblock (~> 2.0)
126
+ rubysl-io-wait (~> 2.0)
127
+ rubysl-ipaddr (~> 2.0)
128
+ rubysl-irb (~> 2.0)
129
+ rubysl-logger (~> 2.0)
130
+ rubysl-mathn (~> 2.0)
131
+ rubysl-matrix (~> 2.0)
132
+ rubysl-mkmf (~> 2.0)
133
+ rubysl-monitor (~> 2.0)
134
+ rubysl-mutex_m (~> 2.0)
135
+ rubysl-net-ftp (~> 2.0)
136
+ rubysl-net-http (~> 2.0)
137
+ rubysl-net-imap (~> 2.0)
138
+ rubysl-net-pop (~> 2.0)
139
+ rubysl-net-protocol (~> 2.0)
140
+ rubysl-net-smtp (~> 2.0)
141
+ rubysl-net-telnet (~> 2.0)
142
+ rubysl-nkf (~> 2.0)
143
+ rubysl-observer (~> 2.0)
144
+ rubysl-open-uri (~> 2.0)
145
+ rubysl-open3 (~> 2.0)
146
+ rubysl-openssl (~> 2.0)
147
+ rubysl-optparse (~> 2.0)
148
+ rubysl-ostruct (~> 2.0)
149
+ rubysl-pathname (~> 2.0)
150
+ rubysl-prettyprint (~> 2.0)
151
+ rubysl-prime (~> 2.0)
152
+ rubysl-profile (~> 2.0)
153
+ rubysl-profiler (~> 2.0)
154
+ rubysl-pstore (~> 2.0)
155
+ rubysl-pty (~> 2.0)
156
+ rubysl-rational (~> 2.0)
157
+ rubysl-readline (~> 2.0)
158
+ rubysl-resolv (~> 2.0)
159
+ rubysl-rexml (~> 2.0)
160
+ rubysl-rinda (~> 2.0)
161
+ rubysl-rss (~> 2.0)
162
+ rubysl-scanf (~> 2.0)
163
+ rubysl-securerandom (~> 2.0)
164
+ rubysl-set (~> 2.0)
165
+ rubysl-shellwords (~> 2.0)
166
+ rubysl-singleton (~> 2.0)
167
+ rubysl-socket (~> 2.0)
168
+ rubysl-stringio (~> 2.0)
169
+ rubysl-strscan (~> 2.0)
170
+ rubysl-sync (~> 2.0)
171
+ rubysl-syslog (~> 2.0)
172
+ rubysl-tempfile (~> 2.0)
173
+ rubysl-thread (~> 2.0)
174
+ rubysl-thwait (~> 2.0)
175
+ rubysl-time (~> 2.0)
176
+ rubysl-timeout (~> 2.0)
177
+ rubysl-tmpdir (~> 2.0)
178
+ rubysl-tsort (~> 2.0)
179
+ rubysl-un (~> 2.0)
180
+ rubysl-uri (~> 2.0)
181
+ rubysl-weakref (~> 2.0)
182
+ rubysl-webrick (~> 2.0)
183
+ rubysl-xmlrpc (~> 2.0)
184
+ rubysl-yaml (~> 2.0)
185
+ rubysl-zlib (~> 2.0)
186
+ rubysl-abbrev (2.0.4)
187
+ rubysl-base64 (2.0.0)
188
+ rubysl-benchmark (2.0.1)
189
+ rubysl-bigdecimal (2.0.2)
190
+ rubysl-cgi (2.0.1)
191
+ rubysl-cgi-session (2.0.1)
192
+ rubysl-cmath (2.0.0)
193
+ rubysl-complex (2.0.0)
194
+ rubysl-continuation (2.0.0)
195
+ rubysl-coverage (2.0.3)
196
+ rubysl-csv (2.0.2)
197
+ rubysl-english (~> 2.0)
198
+ rubysl-curses (2.0.0)
199
+ rubysl-date (2.0.6)
200
+ rubysl-delegate (2.0.1)
201
+ rubysl-digest (2.0.3)
202
+ rubysl-drb (2.0.1)
203
+ rubysl-e2mmap (2.0.0)
204
+ rubysl-english (2.0.0)
205
+ rubysl-enumerator (2.0.0)
206
+ rubysl-erb (2.0.1)
207
+ rubysl-etc (2.0.3)
208
+ ffi2-generators (~> 0.1)
209
+ rubysl-expect (2.0.0)
210
+ rubysl-fcntl (2.0.4)
211
+ ffi2-generators (~> 0.1)
212
+ rubysl-fiber (2.0.0)
213
+ rubysl-fileutils (2.0.3)
214
+ rubysl-find (2.0.1)
215
+ rubysl-forwardable (2.0.1)
216
+ rubysl-getoptlong (2.0.0)
217
+ rubysl-gserver (2.0.0)
218
+ rubysl-socket (~> 2.0)
219
+ rubysl-thread (~> 2.0)
220
+ rubysl-io-console (2.0.0)
221
+ rubysl-io-nonblock (2.0.0)
222
+ rubysl-io-wait (2.0.0)
223
+ rubysl-ipaddr (2.0.0)
224
+ rubysl-irb (2.0.4)
225
+ rubysl-e2mmap (~> 2.0)
226
+ rubysl-mathn (~> 2.0)
227
+ rubysl-readline (~> 2.0)
228
+ rubysl-thread (~> 2.0)
229
+ rubysl-logger (2.0.0)
230
+ rubysl-mathn (2.0.0)
231
+ rubysl-matrix (2.1.0)
232
+ rubysl-e2mmap (~> 2.0)
233
+ rubysl-mkmf (2.0.1)
234
+ rubysl-fileutils (~> 2.0)
235
+ rubysl-shellwords (~> 2.0)
236
+ rubysl-monitor (2.0.0)
237
+ rubysl-mutex_m (2.0.0)
238
+ rubysl-net-ftp (2.0.1)
239
+ rubysl-net-http (2.0.4)
240
+ rubysl-cgi (~> 2.0)
241
+ rubysl-erb (~> 2.0)
242
+ rubysl-singleton (~> 2.0)
243
+ rubysl-net-imap (2.0.1)
244
+ rubysl-net-pop (2.0.1)
245
+ rubysl-net-protocol (2.0.1)
246
+ rubysl-net-smtp (2.0.1)
247
+ rubysl-net-telnet (2.0.0)
248
+ rubysl-nkf (2.0.1)
249
+ rubysl-observer (2.0.0)
250
+ rubysl-open-uri (2.0.0)
251
+ rubysl-open3 (2.0.0)
252
+ rubysl-openssl (2.0.5)
253
+ rubysl-optparse (2.0.1)
254
+ rubysl-shellwords (~> 2.0)
255
+ rubysl-ostruct (2.0.4)
256
+ rubysl-pathname (2.0.0)
257
+ rubysl-prettyprint (2.0.2)
258
+ rubysl-prime (2.0.0)
259
+ rubysl-profile (2.0.0)
260
+ rubysl-profiler (2.0.1)
261
+ rubysl-pstore (2.0.0)
262
+ rubysl-pty (2.0.2)
263
+ rubysl-rational (2.0.1)
264
+ rubysl-readline (2.0.2)
265
+ rubysl-resolv (2.0.0)
266
+ rubysl-rexml (2.0.2)
267
+ rubysl-rinda (2.0.0)
268
+ rubysl-rss (2.0.0)
269
+ rubysl-scanf (2.0.0)
270
+ rubysl-securerandom (2.0.0)
271
+ rubysl-set (2.0.1)
272
+ rubysl-shellwords (2.0.0)
273
+ rubysl-singleton (2.0.0)
274
+ rubysl-socket (2.0.1)
275
+ rubysl-stringio (2.0.0)
276
+ rubysl-strscan (2.0.0)
277
+ rubysl-sync (2.0.0)
278
+ rubysl-syslog (2.0.1)
279
+ ffi2-generators (~> 0.1)
280
+ rubysl-tempfile (2.0.1)
281
+ rubysl-thread (2.0.2)
282
+ rubysl-thwait (2.0.0)
283
+ rubysl-time (2.0.3)
284
+ rubysl-timeout (2.0.0)
285
+ rubysl-tmpdir (2.0.0)
286
+ rubysl-tsort (2.0.1)
287
+ rubysl-un (2.0.0)
288
+ rubysl-fileutils (~> 2.0)
289
+ rubysl-optparse (~> 2.0)
290
+ rubysl-uri (2.0.0)
291
+ rubysl-weakref (2.0.0)
292
+ rubysl-webrick (2.0.0)
293
+ rubysl-xmlrpc (2.0.0)
294
+ rubysl-yaml (2.0.3)
295
+ rubysl-zlib (2.0.1)
93
296
  slop (3.4.6)
94
297
  sys-uname (0.9.2)
95
298
  ffi (>= 1.0.0)
@@ -122,4 +325,5 @@ DEPENDENCIES
122
325
  jeweler
123
326
  redgreen
124
327
  rspec
328
+ rubysl
125
329
  travis
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "algoliasearch"
8
- s.version = "1.1.8"
8
+ s.version = "1.1.9"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Algolia"]
@@ -2,6 +2,7 @@ require 'algolia/protocol'
2
2
  require 'algolia/error'
3
3
  require 'algolia/version'
4
4
  require 'json'
5
+ require 'zlib'
5
6
 
6
7
  module Algolia
7
8
 
@@ -16,7 +17,7 @@ module Algolia
16
17
  @ssl = data[:ssl].nil? ? true : data[:ssl]
17
18
  @application_id = data[:application_id]
18
19
  @api_key = data[:api_key]
19
- @gzip = data[:gzip].nil? ? false : data[:gzip]
20
+ @gzip = data[:gzip].nil? ? true : data[:gzip]
20
21
  @hosts = (data[:hosts] || 1.upto(3).map { |i| "#{@application_id}-#{i}.algolia.io" }).shuffle
21
22
  @debug = data[:debug]
22
23
  end
@@ -45,6 +46,10 @@ module Algolia
45
46
  if session.response_code >= 400 || session.response_code < 200
46
47
  raise AlgoliaProtocolError.new(session.response_code, "Cannot #{method} to #{session.url}: #{session.body_str} (#{session.response_code})")
47
48
  end
49
+ if @gzip
50
+ gz = Zlib::GzipReader.new(StringIO.new(session.body_str))
51
+ return JSON.parse(gz.read)
52
+ end
48
53
  return JSON.parse(session.body_str)
49
54
  rescue AlgoliaProtocolError => e
50
55
  raise if e.code != Protocol::ERROR_TIMEOUT and e.code != Protocol::ERROR_UNAVAILABLE
@@ -85,8 +90,8 @@ module Algolia
85
90
  s.headers[Protocol::HEADER_API_KEY] = api_key
86
91
  s.headers[Protocol::HEADER_APP_ID] = application_id
87
92
  s.headers["Content-Type"] = "application/json; charset=utf-8"
88
- s.headers["Accept"] = "Accept-Encoding: gzip,deflate" if @gzip
89
93
  s.headers["User-Agent"] = "Algolia for Ruby #{::Algolia::VERSION}"
94
+ s.headers["Accept-Encoding"] = "gzip,deflate" if @gzip
90
95
  s.verbose = true if @debug
91
96
  end
92
97
  hinfo
@@ -1,3 +1,3 @@
1
1
  module Algolia
2
- VERSION = "1.1.7"
2
+ VERSION = "1.1.9"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: algoliasearch
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.8
4
+ version: 1.1.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Algolia