aylien_text_api 0.5.1 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (119) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +2 -2
  3. data/LICENSE +1 -1
  4. data/aylien_text_api.gemspec +2 -2
  5. data/lib/aylien_text_api.rb +1 -1
  6. data/lib/aylien_text_api/client.rb +59 -15
  7. data/lib/aylien_text_api/configuration.rb +3 -2
  8. data/lib/aylien_text_api/connection.rb +1 -1
  9. data/lib/aylien_text_api/error.rb +1 -1
  10. data/lib/aylien_text_api/version.rb +2 -2
  11. data/spec/fixtures/aylien_text_api/client/absa_with_invalid_client.yml +38 -0
  12. data/spec/fixtures/aylien_text_api/client/absa_with_invalid_params.yml +57 -0
  13. data/spec/fixtures/aylien_text_api/client/absa_with_text.yml +229 -0
  14. data/spec/fixtures/aylien_text_api/client/absa_with_unauthenticated_client.yml +42 -0
  15. data/spec/fixtures/aylien_text_api/client/absa_with_valid_url.yml +407 -0
  16. data/spec/fixtures/aylien_text_api/client/absa_with_value_as_text.yml +229 -0
  17. data/spec/fixtures/aylien_text_api/client/absa_with_value_as_valid_url.yml +407 -0
  18. data/spec/fixtures/aylien_text_api/client/classify_by_taxonomy_with_invalid_client.yml +3 -3
  19. data/spec/fixtures/aylien_text_api/client/classify_by_taxonomy_with_invalid_params.yml +5 -5
  20. data/spec/fixtures/aylien_text_api/client/classify_by_taxonomy_with_invalid_taxonomy.yml +5 -5
  21. data/spec/fixtures/aylien_text_api/client/classify_by_taxonomy_with_text.yml +5 -5
  22. data/spec/fixtures/aylien_text_api/client/classify_by_taxonomy_with_unauthenticated_client.yml +3 -3
  23. data/spec/fixtures/aylien_text_api/client/classify_by_taxonomy_with_valid_url.yml +100 -100
  24. data/spec/fixtures/aylien_text_api/client/classify_by_taxonomy_with_value_as_text.yml +5 -5
  25. data/spec/fixtures/aylien_text_api/client/classify_by_taxonomy_with_value_as_valid_url.yml +100 -100
  26. data/spec/fixtures/aylien_text_api/client/classify_with_invalid_client.yml +3 -3
  27. data/spec/fixtures/aylien_text_api/client/classify_with_invalid_params.yml +6 -6
  28. data/spec/fixtures/aylien_text_api/client/classify_with_text.yml +5 -5
  29. data/spec/fixtures/aylien_text_api/client/classify_with_unauthenticated_client.yml +3 -3
  30. data/spec/fixtures/aylien_text_api/client/classify_with_valid_url.yml +90 -90
  31. data/spec/fixtures/aylien_text_api/client/classify_with_value_as_text.yml +5 -5
  32. data/spec/fixtures/aylien_text_api/client/classify_with_value_as_valid_url.yml +90 -90
  33. data/spec/fixtures/aylien_text_api/client/combined_with_invalid_client.yml +3 -3
  34. data/spec/fixtures/aylien_text_api/client/combined_with_invalid_params.yml +5 -5
  35. data/spec/fixtures/aylien_text_api/client/combined_with_text.yml +9 -9
  36. data/spec/fixtures/aylien_text_api/client/combined_with_unauthenticated_client.yml +3 -3
  37. data/spec/fixtures/aylien_text_api/client/combined_with_valid_url.yml +259 -255
  38. data/spec/fixtures/aylien_text_api/client/combined_with_value_as_text.yml +9 -9
  39. data/spec/fixtures/aylien_text_api/client/combined_with_value_as_valid_url.yml +259 -255
  40. data/spec/fixtures/aylien_text_api/client/concepts_with_invalid_client.yml +3 -3
  41. data/spec/fixtures/aylien_text_api/client/concepts_with_invalid_params.yml +5 -5
  42. data/spec/fixtures/aylien_text_api/client/concepts_with_text.yml +10 -10
  43. data/spec/fixtures/aylien_text_api/client/concepts_with_unauthenticated_client.yml +3 -3
  44. data/spec/fixtures/aylien_text_api/client/concepts_with_valid_url.yml +25 -85
  45. data/spec/fixtures/aylien_text_api/client/concepts_with_value_as_text.yml +10 -10
  46. data/spec/fixtures/aylien_text_api/client/concepts_with_value_as_valid_url.yml +25 -85
  47. data/spec/fixtures/aylien_text_api/client/entities_with_invalid_client.yml +3 -3
  48. data/spec/fixtures/aylien_text_api/client/entities_with_invalid_params.yml +5 -5
  49. data/spec/fixtures/aylien_text_api/client/entities_with_text.yml +5 -5
  50. data/spec/fixtures/aylien_text_api/client/entities_with_unauthenticated_client.yml +3 -3
  51. data/spec/fixtures/aylien_text_api/client/entities_with_valid_url.yml +5 -5
  52. data/spec/fixtures/aylien_text_api/client/entities_with_value_as_text.yml +5 -5
  53. data/spec/fixtures/aylien_text_api/client/entities_with_value_as_valid_url.yml +5 -5
  54. data/spec/fixtures/aylien_text_api/client/extract_with_invalid_client.yml +3 -3
  55. data/spec/fixtures/aylien_text_api/client/extract_with_invalid_params.yml +6 -6
  56. data/spec/fixtures/aylien_text_api/client/extract_with_unauthenticated_client.yml +3 -3
  57. data/spec/fixtures/aylien_text_api/client/extract_with_valid_url.yml +255 -255
  58. data/spec/fixtures/aylien_text_api/client/extract_with_value_as_text.yml +5 -5
  59. data/spec/fixtures/aylien_text_api/client/extract_with_value_as_valid_url.yml +255 -255
  60. data/spec/fixtures/aylien_text_api/client/hashtags_with_invalid_client.yml +3 -3
  61. data/spec/fixtures/aylien_text_api/client/hashtags_with_invalid_params.yml +5 -5
  62. data/spec/fixtures/aylien_text_api/client/hashtags_with_text.yml +5 -5
  63. data/spec/fixtures/aylien_text_api/client/hashtags_with_unauthenticated_client.yml +3 -3
  64. data/spec/fixtures/aylien_text_api/client/hashtags_with_valid_url.yml +13 -42
  65. data/spec/fixtures/aylien_text_api/client/hashtags_with_value_as_text.yml +5 -5
  66. data/spec/fixtures/aylien_text_api/client/hashtags_with_value_as_valid_url.yml +13 -42
  67. data/spec/fixtures/aylien_text_api/client/image_tags_with_invalid_client.yml +3 -3
  68. data/spec/fixtures/aylien_text_api/client/image_tags_with_invalid_params.yml +6 -6
  69. data/spec/fixtures/aylien_text_api/client/image_tags_with_unauthenticated_client.yml +3 -3
  70. data/spec/fixtures/aylien_text_api/client/image_tags_with_valid_url.yml +8 -8
  71. data/spec/fixtures/aylien_text_api/client/image_tags_with_value_as_text.yml +5 -5
  72. data/spec/fixtures/aylien_text_api/client/image_tags_with_value_as_valid_url.yml +8 -8
  73. data/spec/fixtures/aylien_text_api/client/language_with_invalid_client.yml +3 -3
  74. data/spec/fixtures/aylien_text_api/client/language_with_invalid_params.yml +5 -5
  75. data/spec/fixtures/aylien_text_api/client/language_with_unauthenticated_client.yml +3 -3
  76. data/spec/fixtures/aylien_text_api/client/language_with_valid_text.yml +6 -6
  77. data/spec/fixtures/aylien_text_api/client/language_with_valid_url.yml +13 -37
  78. data/spec/fixtures/aylien_text_api/client/language_with_value_as_text.yml +6 -6
  79. data/spec/fixtures/aylien_text_api/client/language_with_value_as_valid_url.yml +13 -37
  80. data/spec/fixtures/aylien_text_api/client/microformats_with_invalid_client.yml +3 -3
  81. data/spec/fixtures/aylien_text_api/client/microformats_with_invalid_params.yml +5 -5
  82. data/spec/fixtures/aylien_text_api/client/microformats_with_unauthenticated_client.yml +3 -3
  83. data/spec/fixtures/aylien_text_api/client/microformats_with_valid_url.yml +6 -6
  84. data/spec/fixtures/aylien_text_api/client/microformats_with_value_as_valid_url.yml +6 -6
  85. data/spec/fixtures/aylien_text_api/client/rate_limits.yml +6 -6
  86. data/spec/fixtures/aylien_text_api/client/rate_limits_with_invalid_client.yml +3 -3
  87. data/spec/fixtures/aylien_text_api/client/rate_limits_with_unauthenticated_client.yml +3 -3
  88. data/spec/fixtures/aylien_text_api/client/related_with_invalid_client.yml +3 -3
  89. data/spec/fixtures/aylien_text_api/client/related_with_invalid_params.yml +6 -6
  90. data/spec/fixtures/aylien_text_api/client/related_with_phrase.yml +5 -5
  91. data/spec/fixtures/aylien_text_api/client/related_with_unauthenticated_client.yml +3 -3
  92. data/spec/fixtures/aylien_text_api/client/related_with_value_as_phrase.yml +5 -5
  93. data/spec/fixtures/aylien_text_api/client/related_with_value_as_valid_url.yml +5 -5
  94. data/spec/fixtures/aylien_text_api/client/sentiment_with_invalid_client.yml +3 -3
  95. data/spec/fixtures/aylien_text_api/client/sentiment_with_invalid_params.yml +5 -5
  96. data/spec/fixtures/aylien_text_api/client/sentiment_with_text.yml +5 -5
  97. data/spec/fixtures/aylien_text_api/client/sentiment_with_unauthenticated_client.yml +3 -3
  98. data/spec/fixtures/aylien_text_api/client/sentiment_with_valid_url.yml +15 -40
  99. data/spec/fixtures/aylien_text_api/client/sentiment_with_value_as_text.yml +5 -5
  100. data/spec/fixtures/aylien_text_api/client/sentiment_with_value_as_valid_url.yml +15 -40
  101. data/spec/fixtures/aylien_text_api/client/summarize_with_invalid_client.yml +3 -3
  102. data/spec/fixtures/aylien_text_api/client/summarize_with_invalid_params.yml +5 -5
  103. data/spec/fixtures/aylien_text_api/client/summarize_with_title_and_text.yml +5 -5
  104. data/spec/fixtures/aylien_text_api/client/summarize_with_unauthenticated_client.yml +3 -3
  105. data/spec/fixtures/aylien_text_api/client/summarize_with_valid_url.yml +12 -52
  106. data/spec/fixtures/aylien_text_api/client/summarize_with_value_as_text_and_title.yml +5 -5
  107. data/spec/fixtures/aylien_text_api/client/summarize_with_value_as_text_and_without_title.yml +5 -5
  108. data/spec/fixtures/aylien_text_api/client/summarize_with_value_as_valid_url.yml +12 -52
  109. data/spec/fixtures/aylien_text_api/client/unsupervised_classify_with_invalid_client.yml +3 -3
  110. data/spec/fixtures/aylien_text_api/client/unsupervised_classify_with_invalid_params.yml +5 -5
  111. data/spec/fixtures/aylien_text_api/client/unsupervised_classify_with_text.yml +5 -5
  112. data/spec/fixtures/aylien_text_api/client/unsupervised_classify_with_unauthenticated_client.yml +3 -3
  113. data/spec/fixtures/aylien_text_api/client/unsupervised_classify_with_valid_url.yml +42 -42
  114. data/spec/fixtures/aylien_text_api/client/unsupervised_classify_with_value_as_text.yml +5 -5
  115. data/spec/fixtures/aylien_text_api/client/unsupervised_classify_with_value_as_valid_url.yml +42 -42
  116. data/spec/lib/aylien_text_api/absa.rb +102 -0
  117. data/spec/lib/aylien_text_api/classify.rb +1 -1
  118. data/spec/lib/aylien_text_api/client_spec.rb +1 -0
  119. metadata +21 -6
@@ -0,0 +1,102 @@
1
+ # encoding: utf-8
2
+
3
+ describe "ABSA endpoint" do
4
+ before do
5
+ @url = "http://techcrunch.com/2014/10/20/the-super-slim-kindle-voyage-is-a-great-travel-companion/"
6
+ @text = %q(We visited here during our recent trip to Sydney and
7
+ overall we were very impressed. We decided to make a reservation online,
8
+ which was quick and easy with instant confirmation.
9
+ It was nice to be able to view the table layout and select our own online.
10
+ The location is spectacular with stunning views of the harbour
11
+ and Opera House. It truly was amazing.
12
+ Despite this, however, the restaurant was only about 25%
13
+ full and so the atmosphere was a bit flat. Perhaps this was to our
14
+ benefit as we received top class service from our waiter,
15
+ Brandon, who was not only friendly and funny but extremely
16
+ knowledgeable when it came to food and wine pairings.
17
+ Speaking of wine, the list was extensive - we loved it -
18
+ and it took us what seemed like an hour to eventually
19
+ decide on a local Shiraz. Now on to the most important
20
+ aspect, the food. Our seafood starters were delicious,
21
+ as were out fillet steak mains.
22
+ The one and only real disappointment was the dessert which was served
23
+ with no real imagination and looked like it had been purchased
24
+ yesterday at the local grocery store.
25
+ All in all, my favourite Sydney restaurant so far.
26
+ So many positives and really good value too. Highly recommend!)
27
+ @domain = "restaurants"
28
+ end
29
+
30
+ it "shouldn't be nil with valid url" do
31
+ VCR.use_cassette('absa_with_valid_url') do
32
+ result = @client.aspect_based_sentiment(url: @url, domain: @domain)
33
+ result.wont_be_nil
34
+ end
35
+ end
36
+
37
+ it "shouldn't be nil with text" do
38
+ VCR.use_cassette('absa_with_text') do
39
+ result = @client.aspect_based_sentiment(text: @text, domain: @domain)
40
+ result.wont_be_nil
41
+ end
42
+ end
43
+
44
+ it "shouldn't be nil with value as valid url" do
45
+ VCR.use_cassette('absa_with_value_as_valid_url') do
46
+ result = @client.aspect_based_sentiment(@url, domain: @domain)
47
+ result.wont_be_nil
48
+ end
49
+ end
50
+
51
+ it "shouldn't be nil with value as value" do
52
+ VCR.use_cassette('absa_with_value_as_text') do
53
+ result = @client.aspect_based_sentiment(@text, domain: @domain)
54
+ result.wont_be_nil
55
+ end
56
+ end
57
+
58
+ it "should be nil with invalid params" do
59
+ VCR.use_cassette('absa_with_invalid_params') do
60
+ result = @client.aspect_based_sentiment(wrong_param: @text, domain: @domain)
61
+ result.must_be_nil
62
+ end
63
+ end
64
+
65
+ it "should be nil with unauthenticated client" do
66
+ VCR.use_cassette('absa_with_unauthenticated_client') do
67
+ result = @unauthenticated_client.aspect_based_sentiment(text: @text, domain: @domain)
68
+ result.must_be_nil
69
+ end
70
+ end
71
+
72
+ it "should raise Forbidden with unauthenticated client" do
73
+ VCR.use_cassette('absa_with_unauthenticated_client') do
74
+ proc {
75
+ @unauthenticated_client.aspect_based_sentiment!(text: @text, domain: @domain)
76
+ }.must_raise AylienTextApi::Error::Forbidden
77
+ end
78
+ end
79
+
80
+ it "should be nil with invalid client" do
81
+ VCR.use_cassette('absa_with_invalid_client') do
82
+ result = @invalid_client.aspect_based_sentiment(text: @text, domain: @domain)
83
+ result.must_be_nil
84
+ end
85
+ end
86
+
87
+ it "should raise Forbidden with invalid client" do
88
+ VCR.use_cassette('absa_with_invalid_client') do
89
+ proc {
90
+ @invalid_client.aspect_based_sentiment!(text: @text, domain: @domain)
91
+ }.must_raise AylienTextApi::Error::Forbidden
92
+ end
93
+ end
94
+
95
+ it "should raise BadRequest with invalid params" do
96
+ VCR.use_cassette('absa_with_invalid_params') do
97
+ proc {
98
+ @client.aspect_based_sentiment!(wrong_param: @text, domain: @domain)
99
+ }.must_raise AylienTextApi::Error::BadRequest
100
+ end
101
+ end
102
+ end
@@ -79,7 +79,7 @@ describe "Classify endpoint" do
79
79
  it "should raise BadRequest with invalid params" do
80
80
  VCR.use_cassette('classify_with_invalid_params') do
81
81
  proc {
82
- @invalid_client.classify!(wrong_param: @text)
82
+ @client.classify!(wrong_param: @text)
83
83
  }.must_raise AylienTextApi::Error::BadRequest
84
84
  end
85
85
  end
@@ -33,5 +33,6 @@ describe AylienTextApi::Client do
33
33
  require_relative './combined'
34
34
  require_relative './image_tags'
35
35
  require_relative './classify_by_taxonomy'
36
+ require_relative './absa'
36
37
  require_relative './rate_limits'
37
38
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aylien_text_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aylien Inc.
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-02-01 00:00:00.000000000 Z
12
+ date: 2016-04-28 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
@@ -71,7 +71,7 @@ description: AYLIEN Text Analysis API is a package of Natural Language Processin
71
71
  and Machine Learning-powered tools for analyzing and extracting various kinds of
72
72
  information from text and images.
73
73
  email:
74
- - hello@aylien.com
74
+ - support@aylien.com
75
75
  - hamed.r.nik@gmail.com
76
76
  executables: []
77
77
  extensions: []
@@ -91,6 +91,13 @@ files:
91
91
  - lib/aylien_text_api/connection.rb
92
92
  - lib/aylien_text_api/error.rb
93
93
  - lib/aylien_text_api/version.rb
94
+ - spec/fixtures/aylien_text_api/client/absa_with_invalid_client.yml
95
+ - spec/fixtures/aylien_text_api/client/absa_with_invalid_params.yml
96
+ - spec/fixtures/aylien_text_api/client/absa_with_text.yml
97
+ - spec/fixtures/aylien_text_api/client/absa_with_unauthenticated_client.yml
98
+ - spec/fixtures/aylien_text_api/client/absa_with_valid_url.yml
99
+ - spec/fixtures/aylien_text_api/client/absa_with_value_as_text.yml
100
+ - spec/fixtures/aylien_text_api/client/absa_with_value_as_valid_url.yml
94
101
  - spec/fixtures/aylien_text_api/client/classify_by_taxonomy_with_invalid_client.yml
95
102
  - spec/fixtures/aylien_text_api/client/classify_by_taxonomy_with_invalid_params.yml
96
103
  - spec/fixtures/aylien_text_api/client/classify_by_taxonomy_with_invalid_taxonomy.yml
@@ -189,6 +196,7 @@ files:
189
196
  - spec/fixtures/aylien_text_api/client/unsupervised_classify_with_valid_url.yml
190
197
  - spec/fixtures/aylien_text_api/client/unsupervised_classify_with_value_as_text.yml
191
198
  - spec/fixtures/aylien_text_api/client/unsupervised_classify_with_value_as_valid_url.yml
199
+ - spec/lib/aylien_text_api/absa.rb
192
200
  - spec/lib/aylien_text_api/classify.rb
193
201
  - spec/lib/aylien_text_api/classify_by_taxonomy.rb
194
202
  - spec/lib/aylien_text_api/client_spec.rb
@@ -208,7 +216,7 @@ files:
208
216
  - spec/spec_helper.rb
209
217
  homepage: https://github.com/AYLIEN/aylien_textapi_ruby
210
218
  licenses:
211
- - Apache License, Version 2.0
219
+ - Apache-2.0
212
220
  metadata: {}
213
221
  post_install_message:
214
222
  rdoc_options: []
@@ -226,13 +234,20 @@ required_rubygems_version: !ruby/object:Gem::Requirement
226
234
  version: '0'
227
235
  requirements: []
228
236
  rubyforge_project:
229
- rubygems_version: 2.5.0
237
+ rubygems_version: 2.6.1
230
238
  signing_key:
231
239
  specification_version: 4
232
240
  summary: AYLIEN Text Analysis API is a package of Natural Language Processing and
233
241
  Machine Learning-powered tools for analyzing and extracting various kinds of information
234
242
  from text and images.
235
243
  test_files:
244
+ - spec/fixtures/aylien_text_api/client/absa_with_invalid_client.yml
245
+ - spec/fixtures/aylien_text_api/client/absa_with_invalid_params.yml
246
+ - spec/fixtures/aylien_text_api/client/absa_with_text.yml
247
+ - spec/fixtures/aylien_text_api/client/absa_with_unauthenticated_client.yml
248
+ - spec/fixtures/aylien_text_api/client/absa_with_valid_url.yml
249
+ - spec/fixtures/aylien_text_api/client/absa_with_value_as_text.yml
250
+ - spec/fixtures/aylien_text_api/client/absa_with_value_as_valid_url.yml
236
251
  - spec/fixtures/aylien_text_api/client/classify_by_taxonomy_with_invalid_client.yml
237
252
  - spec/fixtures/aylien_text_api/client/classify_by_taxonomy_with_invalid_params.yml
238
253
  - spec/fixtures/aylien_text_api/client/classify_by_taxonomy_with_invalid_taxonomy.yml
@@ -331,6 +346,7 @@ test_files:
331
346
  - spec/fixtures/aylien_text_api/client/unsupervised_classify_with_valid_url.yml
332
347
  - spec/fixtures/aylien_text_api/client/unsupervised_classify_with_value_as_text.yml
333
348
  - spec/fixtures/aylien_text_api/client/unsupervised_classify_with_value_as_valid_url.yml
349
+ - spec/lib/aylien_text_api/absa.rb
334
350
  - spec/lib/aylien_text_api/classify.rb
335
351
  - spec/lib/aylien_text_api/classify_by_taxonomy.rb
336
352
  - spec/lib/aylien_text_api/client_spec.rb
@@ -348,4 +364,3 @@ test_files:
348
364
  - spec/lib/aylien_text_api/summarize.rb
349
365
  - spec/lib/aylien_text_api/unsupervised_classify.rb
350
366
  - spec/spec_helper.rb
351
- has_rdoc: