aylien_text_api 0.5.1 → 0.6.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 (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: