aylien_text_api 0.0.4 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (87) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/LICENSE +1 -1
  4. data/lib/aylien_text_api.rb +1 -1
  5. data/lib/aylien_text_api/client.rb +57 -13
  6. data/lib/aylien_text_api/configuration.rb +14 -3
  7. data/lib/aylien_text_api/connection.rb +4 -2
  8. data/lib/aylien_text_api/error.rb +1 -1
  9. data/lib/aylien_text_api/version.rb +2 -2
  10. data/spec/fixtures/aylien_text_api/client/classify_with_invalid_client.yml +7 -5
  11. data/spec/fixtures/aylien_text_api/client/classify_with_invalid_params.yml +16 -8
  12. data/spec/fixtures/aylien_text_api/client/classify_with_text.yml +25 -16
  13. data/spec/fixtures/aylien_text_api/client/classify_with_unauthenticated_client.yml +7 -5
  14. data/spec/fixtures/aylien_text_api/client/classify_with_valid_url.yml +115 -67
  15. data/spec/fixtures/aylien_text_api/client/classify_with_value_as_text.yml +25 -16
  16. data/spec/fixtures/aylien_text_api/client/classify_with_value_as_valid_url.yml +115 -67
  17. data/spec/fixtures/aylien_text_api/client/concepts_with_invalid_client.yml +7 -5
  18. data/spec/fixtures/aylien_text_api/client/concepts_with_invalid_params.yml +16 -8
  19. data/spec/fixtures/aylien_text_api/client/concepts_with_text.yml +16 -8
  20. data/spec/fixtures/aylien_text_api/client/concepts_with_unauthenticated_client.yml +7 -5
  21. data/spec/fixtures/aylien_text_api/client/concepts_with_valid_url.yml +109 -32
  22. data/spec/fixtures/aylien_text_api/client/concepts_with_value_as_text.yml +16 -8
  23. data/spec/fixtures/aylien_text_api/client/concepts_with_value_as_valid_url.yml +109 -32
  24. data/spec/fixtures/aylien_text_api/client/entities_with_invalid_client.yml +7 -5
  25. data/spec/fixtures/aylien_text_api/client/entities_with_invalid_params.yml +16 -8
  26. data/spec/fixtures/aylien_text_api/client/entities_with_text.yml +16 -8
  27. data/spec/fixtures/aylien_text_api/client/entities_with_unauthenticated_client.yml +7 -5
  28. data/spec/fixtures/aylien_text_api/client/entities_with_valid_url.yml +466 -271
  29. data/spec/fixtures/aylien_text_api/client/entities_with_value_as_text.yml +16 -8
  30. data/spec/fixtures/aylien_text_api/client/entities_with_value_as_valid_url.yml +465 -271
  31. data/spec/fixtures/aylien_text_api/client/extract_with_invalid_client.yml +7 -5
  32. data/spec/fixtures/aylien_text_api/client/extract_with_invalid_params.yml +16 -8
  33. data/spec/fixtures/aylien_text_api/client/extract_with_unauthenticated_client.yml +7 -5
  34. data/spec/fixtures/aylien_text_api/client/extract_with_valid_url.yml +267 -154
  35. data/spec/fixtures/aylien_text_api/client/extract_with_value_as_text.yml +16 -8
  36. data/spec/fixtures/aylien_text_api/client/extract_with_value_as_valid_url.yml +267 -154
  37. data/spec/fixtures/aylien_text_api/client/hashtags_with_invalid_client.yml +7 -5
  38. data/spec/fixtures/aylien_text_api/client/hashtags_with_invalid_params.yml +16 -8
  39. data/spec/fixtures/aylien_text_api/client/hashtags_with_text.yml +31 -17
  40. data/spec/fixtures/aylien_text_api/client/hashtags_with_unauthenticated_client.yml +7 -5
  41. data/spec/fixtures/aylien_text_api/client/hashtags_with_valid_url.yml +51 -27
  42. data/spec/fixtures/aylien_text_api/client/hashtags_with_value_as_text.yml +32 -17
  43. data/spec/fixtures/aylien_text_api/client/hashtags_with_value_as_valid_url.yml +51 -27
  44. data/spec/fixtures/aylien_text_api/client/language_with_invalid_client.yml +7 -5
  45. data/spec/fixtures/aylien_text_api/client/language_with_invalid_params.yml +16 -8
  46. data/spec/fixtures/aylien_text_api/client/language_with_unauthenticated_client.yml +7 -5
  47. data/spec/fixtures/aylien_text_api/client/language_with_valid_text.yml +21 -9
  48. data/spec/fixtures/aylien_text_api/client/language_with_valid_url.yml +46 -26
  49. data/spec/fixtures/aylien_text_api/client/language_with_value_as_text.yml +21 -9
  50. data/spec/fixtures/aylien_text_api/client/language_with_value_as_valid_url.yml +46 -26
  51. data/spec/fixtures/aylien_text_api/client/microformats_with_invalid_client.yml +38 -0
  52. data/spec/fixtures/aylien_text_api/client/microformats_with_invalid_params.yml +62 -0
  53. data/spec/fixtures/aylien_text_api/client/microformats_with_unauthenticated_client.yml +42 -0
  54. data/spec/fixtures/aylien_text_api/client/microformats_with_valid_url.yml +84 -0
  55. data/spec/fixtures/aylien_text_api/client/microformats_with_value_as_valid_url.yml +84 -0
  56. data/spec/fixtures/aylien_text_api/client/related_with_invalid_client.yml +7 -5
  57. data/spec/fixtures/aylien_text_api/client/related_with_invalid_params.yml +17 -9
  58. data/spec/fixtures/aylien_text_api/client/related_with_phrase.yml +80 -28
  59. data/spec/fixtures/aylien_text_api/client/related_with_unauthenticated_client.yml +7 -5
  60. data/spec/fixtures/aylien_text_api/client/related_with_value_as_phrase.yml +80 -28
  61. data/spec/fixtures/aylien_text_api/client/related_with_value_as_valid_url.yml +16 -8
  62. data/spec/fixtures/aylien_text_api/client/sentiment_with_invalid_client.yml +7 -5
  63. data/spec/fixtures/aylien_text_api/client/sentiment_with_invalid_params.yml +16 -8
  64. data/spec/fixtures/aylien_text_api/client/sentiment_with_text.yml +23 -21
  65. data/spec/fixtures/aylien_text_api/client/sentiment_with_unauthenticated_client.yml +7 -5
  66. data/spec/fixtures/aylien_text_api/client/sentiment_with_valid_url.yml +49 -26
  67. data/spec/fixtures/aylien_text_api/client/sentiment_with_value_as_text.yml +23 -21
  68. data/spec/fixtures/aylien_text_api/client/sentiment_with_value_as_valid_url.yml +49 -26
  69. data/spec/fixtures/aylien_text_api/client/summarize_with_invalid_client.yml +7 -5
  70. data/spec/fixtures/aylien_text_api/client/summarize_with_invalid_params.yml +17 -9
  71. data/spec/fixtures/aylien_text_api/client/summarize_with_title_and_text.yml +20 -46
  72. data/spec/fixtures/aylien_text_api/client/summarize_with_unauthenticated_client.yml +7 -5
  73. data/spec/fixtures/aylien_text_api/client/summarize_with_valid_url.yml +61 -34
  74. data/spec/fixtures/aylien_text_api/client/summarize_with_value_as_text_and_title.yml +20 -46
  75. data/spec/fixtures/aylien_text_api/client/summarize_with_value_as_text_and_without_title.yml +17 -9
  76. data/spec/fixtures/aylien_text_api/client/summarize_with_value_as_valid_url.yml +61 -34
  77. data/spec/fixtures/aylien_text_api/client/unsupervised_classify_with_invalid_client.yml +38 -0
  78. data/spec/fixtures/aylien_text_api/client/unsupervised_classify_with_invalid_params.yml +57 -0
  79. data/spec/fixtures/aylien_text_api/client/unsupervised_classify_with_text.yml +53 -0
  80. data/spec/fixtures/aylien_text_api/client/unsupervised_classify_with_unauthenticated_client.yml +42 -0
  81. data/spec/fixtures/aylien_text_api/client/unsupervised_classify_with_valid_url.yml +96 -0
  82. data/spec/fixtures/aylien_text_api/client/unsupervised_classify_with_value_as_text.yml +57 -0
  83. data/spec/fixtures/aylien_text_api/client/unsupervised_classify_with_value_as_valid_url.yml +96 -0
  84. data/spec/lib/aylien_text_api/client_spec.rb +13 -3
  85. data/spec/lib/aylien_text_api/microformats.rb +66 -0
  86. data/spec/lib/aylien_text_api/unsupervised_classify.rb +87 -0
  87. metadata +105 -5
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 296a6d404684da939113ec15439bd3b66a7d0fb4
4
- data.tar.gz: fb73352cccbd666e18a0d88c4245ef7762f197ab
3
+ metadata.gz: 0a9333433771b3ddafab407af128d5dc3c1663ec
4
+ data.tar.gz: 25639d14110524e8cd273d4507fd03f14195041d
5
5
  SHA512:
6
- metadata.gz: e7ff425527ad61360dc237548340d1e55596ccb34aa57ff409db38b04dbc0fdb62bc14735a0e9d7fe306d4aff6e6f83ebdcfd3998eda93d923ab77a4396d4b3e
7
- data.tar.gz: e0490b0f0732b66dc7f0f34a6659db26b9117b8ddecc08a725499487d9ae149e590d4f219c821a4b98deb5e2b7715b6292e6121c7423d7cd3ecab46c5e17f2f8
6
+ metadata.gz: 21724ec5f907e5eb549ba4a78feafda1e1668b63081d03ed12397c50aacfcbee0718f4a18b5c8267f95bb48bebff2c371da3e1c9fe869c15062ffe3a520e49a9
7
+ data.tar.gz: c6534fc7dfb572498c275c8c41afe1b631c9ef0647788816a9dbcbf1bb389be7c8cfd29d885cf5326e8f5dde13ee9ac4cc9639fee8afb4c434ede1f9a327e17e
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- aylien_text_api (0.0.1)
4
+ aylien_text_api (0.1.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright 2014 Aylien, Inc. All Rights Reserved.
1
+ Copyright 2015 Aylien, Inc. All Rights Reserved.
2
2
 
3
3
  Licensed under the Apache License, Version 2.0 (the "License");
4
4
  you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright 2014 Aylien, Inc. All Rights Reserved.
1
+ # Copyright 2015 Aylien, Inc. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright 2014 Aylien, Inc. All Rights Reserved.
1
+ # Copyright 2015 Aylien, Inc. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -32,9 +32,10 @@ module AylienTextApi
32
32
  send("#{key}=", merged_options[key])
33
33
  end
34
34
 
35
- Configuration::ENDPOINTS.each do |endpoint|
35
+ Configuration::ENDPOINTS.keys.each do |endpoint|
36
36
  self.class.send(:define_method, "#{endpoint}!") do |value=nil, params={}|
37
- endpoint, params, config = common_endpoint(value, params, endpoint)
37
+ endpoint, params, config = common_endpoint(value, params,
38
+ Configuration::ENDPOINTS[endpoint])
38
39
  Connection.new(endpoint, params, config).request!
39
40
  end
40
41
  end
@@ -54,7 +55,8 @@ module AylienTextApi
54
55
  # on the data returned.
55
56
  #
56
57
  def extract(value=nil, params={})
57
- endpoint, params, config = common_endpoint(value, params, :extract)
58
+ endpoint, params, config = common_endpoint(value, params,
59
+ Configuration::ENDPOINTS[:extract])
58
60
  Connection.new(endpoint, params, config).request
59
61
  end
60
62
 
@@ -73,7 +75,8 @@ module AylienTextApi
73
75
  # on the data returned.
74
76
  #
75
77
  def classify(value=nil, params={})
76
- endpoint, params, config = common_endpoint(value, params, :classify)
78
+ endpoint, params, config = common_endpoint(value, params,
79
+ Configuration::ENDPOINTS[:classify])
77
80
  Connection.new(endpoint, params, config).request
78
81
  end
79
82
 
@@ -94,7 +97,8 @@ module AylienTextApi
94
97
  # on the data returned.
95
98
  #
96
99
  def concepts(value=nil, params={})
97
- endpoint, params, config = common_endpoint(value, params, :concepts)
100
+ endpoint, params, config = common_endpoint(value, params,
101
+ Configuration::ENDPOINTS[:concepts])
98
102
  Connection.new(endpoint, params, config).request
99
103
  end
100
104
 
@@ -113,7 +117,8 @@ module AylienTextApi
113
117
  # on the data returned.
114
118
  #
115
119
  def hashtags(value=nil, params={})
116
- endpoint, params, config = common_endpoint(value, params, :hashtags)
120
+ endpoint, params, config = common_endpoint(value, params,
121
+ Configuration::ENDPOINTS[:hashtags])
117
122
  Connection.new(endpoint, params, config).request
118
123
  end
119
124
 
@@ -131,7 +136,8 @@ module AylienTextApi
131
136
  # on the data returned.
132
137
  #
133
138
  def entities(value=nil, params={})
134
- endpoint, params, config = common_endpoint(value, params, :entities)
139
+ endpoint, params, config = common_endpoint(value, params,
140
+ Configuration::ENDPOINTS[:entities])
135
141
  Connection.new(endpoint, params, config).request
136
142
  end
137
143
 
@@ -148,7 +154,8 @@ module AylienTextApi
148
154
  # on the data returned.
149
155
  #
150
156
  def language(value=nil, params={})
151
- endpoint, params, config = common_endpoint(value, params, :language)
157
+ endpoint, params, config = common_endpoint(value, params,
158
+ Configuration::ENDPOINTS[:language])
152
159
  Connection.new(endpoint, params, config).request
153
160
  end
154
161
 
@@ -168,7 +175,8 @@ module AylienTextApi
168
175
  # on the data returned.
169
176
  #
170
177
  def sentiment(value=nil, params={})
171
- endpoint, params, config = common_endpoint(value, params, :sentiment)
178
+ endpoint, params, config = common_endpoint(value, params,
179
+ Configuration::ENDPOINTS[:sentiment])
172
180
  Connection.new(endpoint, params, config).request
173
181
  end
174
182
 
@@ -194,7 +202,8 @@ module AylienTextApi
194
202
  # on the data returned.
195
203
  #
196
204
  def summarize(value=nil, params={})
197
- endpoint, params, config = common_endpoint(value, params, :summarize)
205
+ endpoint, params, config = common_endpoint(value, params,
206
+ Configuration::ENDPOINTS[:summarize])
198
207
  Connection.new(endpoint, params, config).request
199
208
  end
200
209
 
@@ -211,7 +220,42 @@ module AylienTextApi
211
220
  # on the data returned.
212
221
  #
213
222
  def related(value=nil, params={})
214
- endpoint, params, config = common_endpoint(value, params, :related)
223
+ endpoint, params, config = common_endpoint(value, params,
224
+ Configuration::ENDPOINTS[:related])
225
+ Connection.new(endpoint, params, config).request
226
+ end
227
+
228
+ # Return Microformats.
229
+ #
230
+ # @param [String] value (nil) URL
231
+ # @param [Hash] params The microformats endpoint options
232
+ # @option params [String] :url The URL
233
+ #
234
+ # @return [Hash, nil] A hash of result. See
235
+ # http://aylien.com/text-api-doc#microformats for more information
236
+ # on the data returned.
237
+ #
238
+ def microformats(value=nil, params={})
239
+ endpoint, params, config = common_endpoint(value, params,
240
+ Configuration::ENDPOINTS[:microformats])
241
+ Connection.new(endpoint, params, config).request
242
+ end
243
+
244
+ # Return Unsupervised Classify.
245
+ #
246
+ # @param [String] value (nil) URL or Text
247
+ # @param [Hash] params The Unsupervised Classify endpoint options
248
+ # @option params [String] :url The URL
249
+ # @option params [String] :text Text
250
+ # @option params [Array<String>] :class Array of classes
251
+ #
252
+ # @return [Hash, nil] A hash of result. See
253
+ # http://aylien.com/text-api-doc#unsupervised_classify for more information
254
+ # on the data returned.
255
+ #
256
+ def unsupervised_classify(value=nil, params={})
257
+ endpoint, params, config = common_endpoint(value, params,
258
+ Configuration::ENDPOINTS[:unsupervised_classify])
215
259
  Connection.new(endpoint, params, config).request
216
260
  end
217
261
 
@@ -230,7 +274,7 @@ module AylienTextApi
230
274
  value.strip!
231
275
  if validate_uri(value)
232
276
  params[:url] = value
233
- elsif endpoint == :related
277
+ elsif endpoint == Configuration::ENDPOINTS[:related]
234
278
  params[:phrase] = value
235
279
  else
236
280
  params[:text] = value
@@ -1,4 +1,4 @@
1
- # Copyright 2014 Aylien, Inc. All Rights Reserved.
1
+ # Copyright 2015 Aylien, Inc. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -25,8 +25,19 @@ module AylienTextApi
25
25
  DEFAULT_APP_ID = nil
26
26
  DEFAULT_APP_KEY = nil
27
27
 
28
- ENDPOINTS = [:extract, :classify, :concepts, :entities, :hashtags,
29
- :language, :related, :sentiment, :summarize]
28
+ ENDPOINTS = {
29
+ extract: 'extract',
30
+ classify: 'classify',
31
+ concepts: 'concepts',
32
+ entities: 'entities',
33
+ hashtags: 'hashtags',
34
+ language: 'language',
35
+ related: 'related',
36
+ sentiment: 'sentiment',
37
+ summarize: 'summarize',
38
+ microformats: 'microformats',
39
+ unsupervised_classify: 'classify/unsupervised'
40
+ }
30
41
 
31
42
  # Build accessor methods for every config options so we can do this, for example:
32
43
  # AylienTextApi.method = :get
@@ -1,4 +1,4 @@
1
- # Copyright 2014 Aylien, Inc. All Rights Reserved.
1
+ # Copyright 2015 Aylien, Inc. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -21,7 +21,7 @@ module AylienTextApi
21
21
  class Connection
22
22
  def initialize(endpoint, params, config)
23
23
  @config = config
24
- @uri = URI.join(@config[:base_uri], endpoint.to_s)
24
+ @uri = URI.join(@config[:base_uri], endpoint)
25
25
  @params = params
26
26
  compile_request_params
27
27
  end
@@ -53,6 +53,8 @@ module AylienTextApi
53
53
  private
54
54
 
55
55
  def compile_request_params
56
+ @params[:class] = @params.delete(:classes) if @params[:classes]
57
+
56
58
  if @config[:method] == :post
57
59
  request = Net::HTTP::Post.new(@uri.request_uri)
58
60
  request.set_form_data(@params)
@@ -1,4 +1,4 @@
1
- # Copyright 2014 Aylien, Inc. All Rights Reserved.
1
+ # Copyright 2015 Aylien, Inc. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright 2014 Aylien, Inc. All Rights Reserved.
1
+ # Copyright 2015 Aylien, Inc. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -13,5 +13,5 @@
13
13
  # limitations under the License.
14
14
 
15
15
  module AylienTextApi
16
- VERSION = "0.0.4" unless defined? AylienTextApi::VERSION
16
+ VERSION = "0.1.0" unless defined? AylienTextApi::VERSION
17
17
  end
@@ -7,10 +7,12 @@ http_interactions:
7
7
  encoding: US-ASCII
8
8
  string: text=CCTV+footage+shows+the+moment+a+suicide+car+bomber+detonates%0A++++++a+device+in+Beirut+on+Tuesday.+The+incident+took+place+in+an+area%0A++++++of+support+for+Hezbollah+and+left+four+people+dead+with+many+more+wounded.%0A++++++A+group+calling+itself+the+al-Nusra+Front+in+Lebanon+has+claimed%0A++++++responsibility+for+the+attack+saying+it+was+in+retaliation+for%0A++++++Hezbollah%27s+military+support+of+president+Bashar+al-Assad%27s+forces+in+Syria
9
9
  headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
10
12
  Accept:
11
- - ! '*/*'
13
+ - "*/*"
12
14
  User-Agent:
13
- - Aylien Text API Ruby Gem 0.0.1
15
+ - Aylien Text API Ruby Gem 0.1.0
14
16
  Content-Type:
15
17
  - application/x-www-form-urlencoded
16
18
  response:
@@ -21,7 +23,7 @@ http_interactions:
21
23
  Server:
22
24
  - openresty/1.5.12.1
23
25
  Date:
24
- - Tue, 02 Dec 2014 18:15:50 GMT
26
+ - Tue, 10 Feb 2015 14:06:13 GMT
25
27
  Content-Type:
26
28
  - text/plain; charset=us-ascii
27
29
  Transfer-Encoding:
@@ -29,8 +31,8 @@ http_interactions:
29
31
  Connection:
30
32
  - keep-alive
31
33
  body:
32
- encoding: US-ASCII
34
+ encoding: UTF-8
33
35
  string: Authentication parameters missing
34
36
  http_version:
35
- recorded_at: Tue, 02 Dec 2014 18:14:48 GMT
37
+ recorded_at: Tue, 10 Feb 2015 14:05:58 GMT
36
38
  recorded_with: VCR 2.9.3
@@ -7,16 +7,18 @@ http_interactions:
7
7
  encoding: US-ASCII
8
8
  string: wrong_param=CCTV+footage+shows+the+moment+a+suicide+car+bomber+detonates%0A++++++a+device+in+Beirut+on+Tuesday.+The+incident+took+place+in+an+area%0A++++++of+support+for+Hezbollah+and+left+four+people+dead+with+many+more+wounded.%0A++++++A+group+calling+itself+the+al-Nusra+Front+in+Lebanon+has+claimed%0A++++++responsibility+for+the+attack+saying+it+was+in+retaliation+for%0A++++++Hezbollah%27s+military+support+of+president+Bashar+al-Assad%27s+forces+in+Syria
9
9
  headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
10
12
  Accept:
11
- - ! '*/*'
13
+ - "*/*"
12
14
  User-Agent:
13
- - Aylien Text API Ruby Gem 0.0.1
15
+ - Aylien Text API Ruby Gem 0.1.0
14
16
  Content-Type:
15
17
  - application/x-www-form-urlencoded
16
18
  App-Id:
17
- - <PASSWORD>
19
+ - "<PASSWORD>"
18
20
  App-Key:
19
- - <PASSWORD>
21
+ - "<PASSWORD>"
20
22
  response:
21
23
  status:
22
24
  code: 400
@@ -25,16 +27,22 @@ http_interactions:
25
27
  Server:
26
28
  - openresty/1.5.12.1
27
29
  Date:
28
- - Tue, 02 Dec 2014 18:15:48 GMT
30
+ - Tue, 10 Feb 2015 14:06:12 GMT
29
31
  Content-Type:
30
32
  - application/json;charset=UTF-8
31
33
  Content-Length:
32
34
  - '70'
33
35
  Connection:
34
36
  - keep-alive
37
+ X-Ratelimit-Limit:
38
+ - '207000'
39
+ X-Ratelimit-Remaining:
40
+ - '205380'
41
+ X-Ratelimit-Reset:
42
+ - '1423612800'
35
43
  body:
36
- encoding: US-ASCII
37
- string: ! '{"error" : "requirement failed: you must either provide url or text."}'
44
+ encoding: UTF-8
45
+ string: '{"error" : "requirement failed: you must either provide url or text."}'
38
46
  http_version:
39
- recorded_at: Tue, 02 Dec 2014 18:14:45 GMT
47
+ recorded_at: Tue, 10 Feb 2015 14:05:57 GMT
40
48
  recorded_with: VCR 2.9.3
@@ -7,16 +7,18 @@ http_interactions:
7
7
  encoding: US-ASCII
8
8
  string: text=CCTV+footage+shows+the+moment+a+suicide+car+bomber+detonates%0A++++++a+device+in+Beirut+on+Tuesday.+The+incident+took+place+in+an+area%0A++++++of+support+for+Hezbollah+and+left+four+people+dead+with+many+more+wounded.%0A++++++A+group+calling+itself+the+al-Nusra+Front+in+Lebanon+has+claimed%0A++++++responsibility+for+the+attack+saying+it+was+in+retaliation+for%0A++++++Hezbollah%27s+military+support+of+president+Bashar+al-Assad%27s+forces+in+Syria
9
9
  headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
10
12
  Accept:
11
- - ! '*/*'
13
+ - "*/*"
12
14
  User-Agent:
13
- - Aylien Text API Ruby Gem 0.0.1
15
+ - Aylien Text API Ruby Gem 0.1.0
14
16
  Content-Type:
15
17
  - application/x-www-form-urlencoded
16
18
  App-Id:
17
- - <PASSWORD>
19
+ - "<PASSWORD>"
18
20
  App-Key:
19
- - <PASSWORD>
21
+ - "<PASSWORD>"
20
22
  response:
21
23
  status:
22
24
  code: 200
@@ -25,24 +27,31 @@ http_interactions:
25
27
  Server:
26
28
  - openresty/1.5.12.1
27
29
  Date:
28
- - Tue, 02 Dec 2014 18:15:51 GMT
30
+ - Tue, 10 Feb 2015 14:06:15 GMT
29
31
  Content-Type:
30
32
  - application/json;charset=UTF-8
31
33
  Content-Length:
32
34
  - '605'
33
35
  Connection:
34
36
  - keep-alive
37
+ X-Ratelimit-Limit:
38
+ - '207000'
39
+ X-Ratelimit-Remaining:
40
+ - '205377'
41
+ X-Ratelimit-Reset:
42
+ - '1423612800'
35
43
  body:
36
- encoding: US-ASCII
37
- string: ! "{\n \"text\": \"CCTV footage shows the moment a suicide car bomber
38
- detonates\\n a device in Beirut on Tuesday. The incident took place in
39
- an area\\n of support for Hezbollah and left four people dead with many
40
- more wounded.\\n A group calling itself the al-Nusra Front in Lebanon
41
- has claimed\\n responsibility for the attack saying it was in retaliation
42
- for\\n Hezbollah's military support of president Bashar al-Assad's forces
43
- in Syria\",\n \"language\": \"en\",\n \"categories\": [{\n \"label\":
44
- \"defence - biological and chemical weapons\",\n \"code\": \"11001007\",\n
45
- \ \"confidence\": 1.0\n }]\n}"
44
+ encoding: UTF-8
45
+ string: |-
46
+ {
47
+ "text": "CCTV footage shows the moment a suicide car bomber detonates\n a device in Beirut on Tuesday. The incident took place in an area\n of support for Hezbollah and left four people dead with many more wounded.\n A group calling itself the al-Nusra Front in Lebanon has claimed\n responsibility for the attack saying it was in retaliation for\n Hezbollah's military support of president Bashar al-Assad's forces in Syria",
48
+ "language": "en",
49
+ "categories": [{
50
+ "label": "defence - biological and chemical weapons",
51
+ "code": "11001007",
52
+ "confidence": 1.0
53
+ }]
54
+ }
46
55
  http_version:
47
- recorded_at: Tue, 02 Dec 2014 18:14:48 GMT
56
+ recorded_at: Tue, 10 Feb 2015 14:06:00 GMT
48
57
  recorded_with: VCR 2.9.3
@@ -7,10 +7,12 @@ http_interactions:
7
7
  encoding: US-ASCII
8
8
  string: text=CCTV+footage+shows+the+moment+a+suicide+car+bomber+detonates%0A++++++a+device+in+Beirut+on+Tuesday.+The+incident+took+place+in+an+area%0A++++++of+support+for+Hezbollah+and+left+four+people+dead+with+many+more+wounded.%0A++++++A+group+calling+itself+the+al-Nusra+Front+in+Lebanon+has+claimed%0A++++++responsibility+for+the+attack+saying+it+was+in+retaliation+for%0A++++++Hezbollah%27s+military+support+of+president+Bashar+al-Assad%27s+forces+in+Syria
9
9
  headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
10
12
  Accept:
11
- - ! '*/*'
13
+ - "*/*"
12
14
  User-Agent:
13
- - Aylien Text API Ruby Gem 0.0.1
15
+ - Aylien Text API Ruby Gem 0.1.0
14
16
  Content-Type:
15
17
  - application/x-www-form-urlencoded
16
18
  App-Id:
@@ -25,7 +27,7 @@ http_interactions:
25
27
  Server:
26
28
  - openresty/1.5.12.1
27
29
  Date:
28
- - Tue, 02 Dec 2014 18:15:47 GMT
30
+ - Tue, 10 Feb 2015 14:06:12 GMT
29
31
  Content-Type:
30
32
  - text/plain; charset=us-ascii
31
33
  Transfer-Encoding:
@@ -33,8 +35,8 @@ http_interactions:
33
35
  Connection:
34
36
  - keep-alive
35
37
  body:
36
- encoding: US-ASCII
38
+ encoding: UTF-8
37
39
  string: Authentication failed
38
40
  http_version:
39
- recorded_at: Tue, 02 Dec 2014 18:14:44 GMT
41
+ recorded_at: Tue, 10 Feb 2015 14:05:57 GMT
40
42
  recorded_with: VCR 2.9.3
@@ -7,16 +7,18 @@ http_interactions:
7
7
  encoding: US-ASCII
8
8
  string: url=http%3A%2F%2Ftechcrunch.com%2F2014%2F10%2F20%2Fthe-super-slim-kindle-voyage-is-a-great-travel-companion%2F
9
9
  headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
10
12
  Accept:
11
- - ! '*/*'
13
+ - "*/*"
12
14
  User-Agent:
13
- - Aylien Text API Ruby Gem 0.0.1
15
+ - Aylien Text API Ruby Gem 0.1.0
14
16
  Content-Type:
15
17
  - application/x-www-form-urlencoded
16
18
  App-Id:
17
- - <PASSWORD>
19
+ - "<PASSWORD>"
18
20
  App-Key:
19
- - <PASSWORD>
21
+ - "<PASSWORD>"
20
22
  response:
21
23
  status:
22
24
  code: 200
@@ -25,74 +27,120 @@ http_interactions:
25
27
  Server:
26
28
  - openresty/1.5.12.1
27
29
  Date:
28
- - Tue, 02 Dec 2014 18:15:53 GMT
30
+ - Tue, 10 Feb 2015 14:06:14 GMT
29
31
  Content-Type:
30
32
  - application/json;charset=UTF-8
31
33
  Content-Length:
32
- - '4482'
34
+ - '4382'
33
35
  Connection:
34
36
  - keep-alive
37
+ X-Ratelimit-Limit:
38
+ - '207000'
39
+ X-Ratelimit-Remaining:
40
+ - '205379'
41
+ X-Ratelimit-Reset:
42
+ - '1423612800'
35
43
  body:
36
- encoding: US-ASCII
37
- string: ! "{\n \"text\": \"The Super-Slim Kindle Voyage Is A Great Travel Companion\\nIn
38
- 1935, Sir Allen Lane and V. K. Krishna Menon founded Penguin Books, a company
39
- dedicated to producing high-quality, small-format paperback books for the
40
- world market. These small, well-made little books introduced some amazing
41
- fiction, philosophy, classical thought and spiritualism to a hungry audience,
42
- and the low price made it easy to build a library of amazing titles that could
43
- fit into a milk crate. Penguin, it can be argued, brought about an intellectual
44
- sea change, bringing us both the post-war writers of note and, in another
45
- direction, the Beats and the spiritual riot of the 1960s.\\n\\nWhy was Penguin
46
- so popular? And why is the 6-inch Kindle Voyage its emotional successor? Both
47
- revolutionized the physical notion of books.\\n\\nIn Penguin\\u2019s case,
48
- the medium was truly the message, and\\u00a0the writing inside the small,
49
- pocketable books allowed for portability and encouraged collection. In the
50
- Kindle Voyage\\u2019s case, Amazon has created a delightful travel companion.\\n\\nFirst,
51
- let\\u2019s address the size. The $199 Voyage ($219 without ads and with 3G)
52
- is about as big as a Penguin paperback and just a bit bigger (and thicker)
53
- than a standard passport. It\\u2019s 7.6 mm thick and removed from its case
54
- it looks about as substantial as a thin stack of paper.\\n\\nThe Voyage is
55
- the Kindle distilled. Almost all of the features are there \\u2013 touchscreen,
56
- bright white e-ink display, and even a special haptic feedback system that
57
- allows you to \\u201cclick\\u201d left and right side buttons to turn pages.
58
- You can also swipe the page left and right to move to the next page and small
59
- dedicated spots above the longer touch-sensitive pads that go back one page.\\n\\nAmazon
60
- sells an $45 folding case for the Voyage that opens up like a Moleskine reporter\\u2019s
61
- notebook. It activates the Kindle upon opening and turns it off when closed.
62
- Hidden magnets then allow you to turn the cover into a little stand for hands-free
63
- reading.\\n\\nSo how does it work? In short, I love e-ink devices, and the
64
- Voyage is the best of them. Because it lasts for weeks \\u2013 I haven\\u2019t
65
- charged it in a full week of use \\u2013 you can stick it in a bag or backpack
66
- and expect it to be ready to read. The bright backlit screen casts a gentle
67
- glow that is reactive to outside light and makes reading pleasant without
68
- the glare of LCD. As a dedicated e-reader, it is nearly perfect, and I rarely
69
- say anything in CE is perfect.\\n\\nWho is this for? It\\u2019s for readers.
70
- The Voyage doesn\\u2019t do much except display books and allow you to buy
71
- them. You can download thousands of titles and not run out of space and, thanks
72
- to new organizational systems, you can place books into folders and control
73
- their placement on the device. But, again, it\\u2019s for readers. Don\\u2019t
74
- expect to read email, browse the web, or control your home security system
75
- from this device. It\\u2019s the e-reader perfected, however, and that means
76
- a lot.\\n\\nI don\\u2019t know how much longer the market for dedicated e-readers
77
- will exist, but I certainly appreciate Amazon\\u2019s dedication to the cause.
78
- E-ink devices are special because they\\u2019re amazingly readable and light
79
- and have great battery life. All of these aspects work in concert to offer
80
- a reading experience akin to thumbing through a Penguin Classic.\\n\\nAgain,
81
- this isn\\u2019t for everyone. It\\u2019s great for travel \\u2013 I took
82
- it with me to Disrupt in Europe and have read it on planes for the past few
83
- days \\u2013 and it\\u2019s great for people who don\\u2019t want a distracting
84
- reading experience. It\\u2019s a great gateway tablet, for example, for folks
85
- who don\\u2019t want a complex experience and instead just want to read. It\\u2019s
86
- also far more comfortable on the eyes for night reading in bed and the text
87
- can be modified for any eyes.\\n\\nAmazon is aiming for readers. It knows
88
- that people love Kindles because they are pure products for reading. And the
89
- Voyage is Amazon\\u2019s latest attempt at perfecting the e-book. Not unlike
90
- Penguin, Amazon looked at the market and made a bold move. It\\u2019s paid
91
- off and the resulting products \\u2013 the Fire like and this new Kindle \\u2013
92
- are nearly perfect media consumption devices by a company that knows how to
93
- sell.\",\n \"language\": \"en\",\n \"categories\": [{\n \"label\": \"economy,
94
- business and finance - computing and information technology\",\n \"code\":
95
- \"04003000\",\n \"confidence\": 1.0\n }]\n}"
44
+ encoding: ASCII-8BIT
45
+ string: !binary |-
46
+ ewogICJ0ZXh0IjogIlRoZSBTdXBlci1TbGltIEtpbmRsZSBWb3lhZ2UgSXMg
47
+ QSBHcmVhdCBUcmF2ZWwgQ29tcGFuaW9uXG5JbiAxOTM1LCBTaXIgQWxsZW4g
48
+ TGFuZSBhbmQgVi4gSy4gS3Jpc2huYSBNZW5vbiBmb3VuZGVkIFBlbmd1aW4g
49
+ Qm9va3MsIGEgY29tcGFueSBkZWRpY2F0ZWQgdG8gcHJvZHVjaW5nIGhpZ2gt
50
+ cXVhbGl0eSwgc21hbGwtZm9ybWF0IHBhcGVyYmFjayBib29rcyBmb3IgdGhl
51
+ IHdvcmxkIG1hcmtldC4gVGhlc2Ugc21hbGwsIHdlbGwtbWFkZSBsaXR0bGUg
52
+ Ym9va3MgaW50cm9kdWNlZCBzb21lIGFtYXppbmcgZmljdGlvbiwgcGhpbG9z
53
+ b3BoeSwgY2xhc3NpY2FsIHRob3VnaHQgYW5kIHNwaXJpdHVhbGlzbSB0byBh
54
+ IGh1bmdyeSBhdWRpZW5jZSwgYW5kIHRoZSBsb3cgcHJpY2UgbWFkZSBpdCBl
55
+ YXN5IHRvIGJ1aWxkIGEgbGlicmFyeSBvZiBhbWF6aW5nIHRpdGxlcyB0aGF0
56
+ IGNvdWxkIGZpdCBpbnRvIGEgbWlsayBjcmF0ZS4gUGVuZ3VpbiwgaXQgY2Fu
57
+ IGJlIGFyZ3VlZCwgYnJvdWdodCBhYm91dCBhbiBpbnRlbGxlY3R1YWwgc2Vh
58
+ IGNoYW5nZSwgYnJpbmdpbmcgdXMgYm90aCB0aGUgcG9zdC13YXIgd3JpdGVy
59
+ cyBvZiBub3RlIGFuZCwgaW4gYW5vdGhlciBkaXJlY3Rpb24sIHRoZSBCZWF0
60
+ cyBhbmQgdGhlIHNwaXJpdHVhbCByaW90IG9mIHRoZSAxOTYwcy5cblxuV2h5
61
+ IHdhcyBQZW5ndWluIHNvIHBvcHVsYXI/IEFuZCB3aHkgaXMgdGhlIDYtaW5j
62
+ aCBLaW5kbGUgVm95YWdlIGl0cyBlbW90aW9uYWwgc3VjY2Vzc29yPyBCb3Ro
63
+ IHJldm9sdXRpb25pemVkIHRoZSBwaHlzaWNhbCBub3Rpb24gb2YgYm9va3Mu
64
+ XG5cbkluIFBlbmd1aW7igJlzIGNhc2UsIHRoZSBtZWRpdW0gd2FzIHRydWx5
65
+ IHRoZSBtZXNzYWdlLCBhbmTCoHRoZSB3cml0aW5nIGluc2lkZSB0aGUgc21h
66
+ bGwsIHBvY2tldGFibGUgYm9va3MgYWxsb3dlZCBmb3IgcG9ydGFiaWxpdHkg
67
+ YW5kIGVuY291cmFnZWQgY29sbGVjdGlvbi4gSW4gdGhlIEtpbmRsZSBWb3lh
68
+ Z2XigJlzIGNhc2UsIEFtYXpvbiBoYXMgY3JlYXRlZCBhIGRlbGlnaHRmdWwg
69
+ dHJhdmVsIGNvbXBhbmlvbi5cblxuRmlyc3QsIGxldOKAmXMgYWRkcmVzcyB0
70
+ aGUgc2l6ZS4gVGhlICQxOTkgVm95YWdlICgkMjE5IHdpdGhvdXQgYWRzIGFu
71
+ ZCB3aXRoIDNHKSBpcyBhYm91dCBhcyBiaWcgYXMgYSBQZW5ndWluIHBhcGVy
72
+ YmFjayBhbmQganVzdCBhIGJpdCBiaWdnZXIgKGFuZCB0aGlja2VyKSB0aGFu
73
+ IGEgc3RhbmRhcmQgcGFzc3BvcnQuIEl04oCZcyA3LjYgbW0gdGhpY2sgYW5k
74
+ IHJlbW92ZWQgZnJvbSBpdHMgY2FzZSBpdCBsb29rcyBhYm91dCBhcyBzdWJz
75
+ dGFudGlhbCBhcyBhIHRoaW4gc3RhY2sgb2YgcGFwZXIuXG5cblRoZSBWb3lh
76
+ Z2UgaXMgdGhlIEtpbmRsZSBkaXN0aWxsZWQuIEFsbW9zdCBhbGwgb2YgdGhl
77
+ IGZlYXR1cmVzIGFyZSB0aGVyZSDigJMgdG91Y2hzY3JlZW4sIGJyaWdodCB3
78
+ aGl0ZSBlLWluayBkaXNwbGF5LCBhbmQgZXZlbiBhIHNwZWNpYWwgaGFwdGlj
79
+ IGZlZWRiYWNrIHN5c3RlbSB0aGF0IGFsbG93cyB5b3UgdG8g4oCcY2xpY2vi
80
+ gJ0gbGVmdCBhbmQgcmlnaHQgc2lkZSBidXR0b25zIHRvIHR1cm4gcGFnZXMu
81
+ IFlvdSBjYW4gYWxzbyBzd2lwZSB0aGUgcGFnZSBsZWZ0IGFuZCByaWdodCB0
82
+ byBtb3ZlIHRvIHRoZSBuZXh0IHBhZ2UgYW5kIHNtYWxsIGRlZGljYXRlZCBz
83
+ cG90cyBhYm92ZSB0aGUgbG9uZ2VyIHRvdWNoLXNlbnNpdGl2ZSBwYWRzIHRo
84
+ YXQgZ28gYmFjayBvbmUgcGFnZS5cblxuQW1hem9uIHNlbGxzIGFuICQ0NSBm
85
+ b2xkaW5nIGNhc2UgZm9yIHRoZSBWb3lhZ2UgdGhhdCBvcGVucyB1cCBsaWtl
86
+ IGEgTW9sZXNraW5lIHJlcG9ydGVy4oCZcyBub3RlYm9vay4gSXQgYWN0aXZh
87
+ dGVzIHRoZSBLaW5kbGUgdXBvbiBvcGVuaW5nIGFuZCB0dXJucyBpdCBvZmYg
88
+ d2hlbiBjbG9zZWQuIEhpZGRlbiBtYWduZXRzIHRoZW4gYWxsb3cgeW91IHRv
89
+ IHR1cm4gdGhlIGNvdmVyIGludG8gYSBsaXR0bGUgc3RhbmQgZm9yIGhhbmRz
90
+ LWZyZWUgcmVhZGluZy5cblxuU28gaG93IGRvZXMgaXQgd29yaz8gSW4gc2hv
91
+ cnQsIEkgbG92ZSBlLWluayBkZXZpY2VzLCBhbmQgdGhlIFZveWFnZSBpcyB0
92
+ aGUgYmVzdCBvZiB0aGVtLiBCZWNhdXNlIGl0IGxhc3RzIGZvciB3ZWVrcyDi
93
+ gJMgSSBoYXZlbuKAmXQgY2hhcmdlZCBpdCBpbiBhIGZ1bGwgd2VlayBvZiB1
94
+ c2Ug4oCTIHlvdSBjYW4gc3RpY2sgaXQgaW4gYSBiYWcgb3IgYmFja3BhY2sg
95
+ YW5kIGV4cGVjdCBpdCB0byBiZSByZWFkeSB0byByZWFkLiBUaGUgYnJpZ2h0
96
+ IGJhY2tsaXQgc2NyZWVuIGNhc3RzIGEgZ2VudGxlIGdsb3cgdGhhdCBpcyBy
97
+ ZWFjdGl2ZSB0byBvdXRzaWRlIGxpZ2h0IGFuZCBtYWtlcyByZWFkaW5nIHBs
98
+ ZWFzYW50IHdpdGhvdXQgdGhlIGdsYXJlIG9mIExDRC4gQXMgYSBkZWRpY2F0
99
+ ZWQgZS1yZWFkZXIsIGl0IGlzIG5lYXJseSBwZXJmZWN0LCBhbmQgSSByYXJl
100
+ bHkgc2F5IGFueXRoaW5nIGluIENFIGlzIHBlcmZlY3QuXG5cbldobyBpcyB0
101
+ aGlzIGZvcj8gSXTigJlzIGZvciByZWFkZXJzLiBUaGUgVm95YWdlIGRvZXNu
102
+ 4oCZdCBkbyBtdWNoIGV4Y2VwdCBkaXNwbGF5IGJvb2tzIGFuZCBhbGxvdyB5
103
+ b3UgdG8gYnV5IHRoZW0uIFlvdSBjYW4gZG93bmxvYWQgdGhvdXNhbmRzIG9m
104
+ IHRpdGxlcyBhbmQgbm90IHJ1biBvdXQgb2Ygc3BhY2UgYW5kLCB0aGFua3Mg
105
+ dG8gbmV3IG9yZ2FuaXphdGlvbmFsIHN5c3RlbXMsIHlvdSBjYW4gcGxhY2Ug
106
+ Ym9va3MgaW50byBmb2xkZXJzIGFuZCBjb250cm9sIHRoZWlyIHBsYWNlbWVu
107
+ dCBvbiB0aGUgZGV2aWNlLiBCdXQsIGFnYWluLCBpdOKAmXMgZm9yIHJlYWRl
108
+ cnMuIERvbuKAmXQgZXhwZWN0IHRvIHJlYWQgZW1haWwsIGJyb3dzZSB0aGUg
109
+ d2ViLCBvciBjb250cm9sIHlvdXIgaG9tZSBzZWN1cml0eSBzeXN0ZW0gZnJv
110
+ bSB0aGlzIGRldmljZS4gSXTigJlzIHRoZSBlLXJlYWRlciBwZXJmZWN0ZWQs
111
+ IGhvd2V2ZXIsIGFuZCB0aGF0IG1lYW5zIGEgbG90LlxuXG5JIGRvbuKAmXQg
112
+ a25vdyBob3cgbXVjaCBsb25nZXIgdGhlIG1hcmtldCBmb3IgZGVkaWNhdGVk
113
+ IGUtcmVhZGVycyB3aWxsIGV4aXN0LCBidXQgSSBjZXJ0YWlubHkgYXBwcmVj
114
+ aWF0ZSBBbWF6b27igJlzIGRlZGljYXRpb24gdG8gdGhlIGNhdXNlLiBFLWlu
115
+ ayBkZXZpY2VzIGFyZSBzcGVjaWFsIGJlY2F1c2UgdGhleeKAmXJlIGFtYXpp
116
+ bmdseSByZWFkYWJsZSBhbmQgbGlnaHQgYW5kIGhhdmUgZ3JlYXQgYmF0dGVy
117
+ eSBsaWZlLiBBbGwgb2YgdGhlc2UgYXNwZWN0cyB3b3JrIGluIGNvbmNlcnQg
118
+ dG8gb2ZmZXIgYSByZWFkaW5nIGV4cGVyaWVuY2UgYWtpbiB0byB0aHVtYmlu
119
+ ZyB0aHJvdWdoIGEgUGVuZ3VpbiBDbGFzc2ljLlxuXG5BZ2FpbiwgdGhpcyBp
120
+ c27igJl0IGZvciBldmVyeW9uZS4gSXTigJlzIGdyZWF0IGZvciB0cmF2ZWwg
121
+ 4oCTIEkgdG9vayBpdCB3aXRoIG1lIHRvIERpc3J1cHQgaW4gRXVyb3BlIGFu
122
+ ZCBoYXZlIHJlYWQgaXQgb24gcGxhbmVzIGZvciB0aGUgcGFzdCBmZXcgZGF5
123
+ cyDigJMgYW5kIGl04oCZcyBncmVhdCBmb3IgcGVvcGxlIHdobyBkb27igJl0
124
+ IHdhbnQgYSBkaXN0cmFjdGluZyByZWFkaW5nIGV4cGVyaWVuY2UuIEl04oCZ
125
+ cyBhIGdyZWF0IGdhdGV3YXkgdGFibGV0LCBmb3IgZXhhbXBsZSwgZm9yIGZv
126
+ bGtzIHdobyBkb27igJl0IHdhbnQgYSBjb21wbGV4IGV4cGVyaWVuY2UgYW5k
127
+ IGluc3RlYWQganVzdCB3YW50IHRvIHJlYWQuIEl04oCZcyBhbHNvIGZhciBt
128
+ b3JlIGNvbWZvcnRhYmxlIG9uIHRoZSBleWVzIGZvciBuaWdodCByZWFkaW5n
129
+ IGluIGJlZCBhbmQgdGhlIHRleHQgY2FuIGJlIG1vZGlmaWVkIGZvciBhbnkg
130
+ ZXllcy5cblxuQW1hem9uIGlzIGFpbWluZyBmb3IgcmVhZGVycy4gSXQga25v
131
+ d3MgdGhhdCBwZW9wbGUgbG92ZSBLaW5kbGVzIGJlY2F1c2UgdGhleSBhcmUg
132
+ cHVyZSBwcm9kdWN0cyBmb3IgcmVhZGluZy4gQW5kIHRoZSBWb3lhZ2UgaXMg
133
+ QW1hem9u4oCZcyBsYXRlc3QgYXR0ZW1wdCBhdCBwZXJmZWN0aW5nIHRoZSBl
134
+ LWJvb2suIE5vdCB1bmxpa2UgUGVuZ3VpbiwgQW1hem9uIGxvb2tlZCBhdCB0
135
+ aGUgbWFya2V0IGFuZCBtYWRlIGEgYm9sZCBtb3ZlLiBJdOKAmXMgcGFpZCBv
136
+ ZmYgYW5kIHRoZSByZXN1bHRpbmcgcHJvZHVjdHMg4oCTIHRoZSBGaXJlIGxp
137
+ a2UgYW5kIHRoaXMgbmV3IEtpbmRsZSDigJMgYXJlIG5lYXJseSBwZXJmZWN0
138
+ IG1lZGlhIGNvbnN1bXB0aW9uIGRldmljZXMgYnkgYSBjb21wYW55IHRoYXQg
139
+ a25vd3MgaG93IHRvIHNlbGwuIiwKICAibGFuZ3VhZ2UiOiAiZW4iLAogICJj
140
+ YXRlZ29yaWVzIjogW3sKICAgICJsYWJlbCI6ICJlY29ub215LCBidXNpbmVz
141
+ cyBhbmQgZmluYW5jZSAtIGNvbXB1dGluZyBhbmQgaW5mb3JtYXRpb24gdGVj
142
+ aG5vbG9neSIsCiAgICAiY29kZSI6ICIwNDAwMzAwMCIsCiAgICAiY29uZmlk
143
+ ZW5jZSI6IDEuMAogIH1dCn0=
96
144
  http_version:
97
- recorded_at: Tue, 02 Dec 2014 18:14:50 GMT
145
+ recorded_at: Tue, 10 Feb 2015 14:05:59 GMT
98
146
  recorded_with: VCR 2.9.3