aylien_text_api 0.0.4 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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