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
@@ -0,0 +1,96 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api.aylien.com/api/v1/classify/unsupervised
6
+ body:
7
+ encoding: US-ASCII
8
+ string: url=http%3A%2F%2Ftechcrunch.com%2F2014%2F10%2F20%2Fthe-super-slim-kindle-voyage-is-a-great-travel-companion%2F&class=voyage&class=travel&class=president
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - Aylien Text API Ruby Gem 0.1.0
16
+ Content-Type:
17
+ - application/x-www-form-urlencoded
18
+ App-Id:
19
+ - "<PASSWORD>"
20
+ App-Key:
21
+ - "<PASSWORD>"
22
+ response:
23
+ status:
24
+ code: 200
25
+ message: OK
26
+ headers:
27
+ Server:
28
+ - openresty/1.5.12.1
29
+ Date:
30
+ - Tue, 10 Feb 2015 14:06:44 GMT
31
+ Content-Type:
32
+ - application/json;charset=UTF-8
33
+ Content-Length:
34
+ - '2154'
35
+ Connection:
36
+ - keep-alive
37
+ X-Ratelimit-Limit:
38
+ - '207000'
39
+ X-Ratelimit-Remaining:
40
+ - '205365'
41
+ X-Ratelimit-Reset:
42
+ - '1423612800'
43
+ body:
44
+ encoding: ASCII-8BIT
45
+ string: !binary |-
46
+ eyJ0ZXh0IjoiSW4gMTkzNSwgU2lyIEFsbGVuIExhbmUgYW5kIFYuIEsuIEty
47
+ aXNobmEgTWVub24gZm91bmRlZCBQZW5ndWluIEJvb2tzLCBhIGNvbXBhbnkg
48
+ ZGVkaWNhdGVkIHRvIHByb2R1Y2luZyBoaWdoLXF1YWxpdHksIHNtYWxsLWZv
49
+ cm1hdCBwYXBlcmJhY2sgYm9va3MgZm9yIHRoZSB3b3JsZCBtYXJrZXQuIFRo
50
+ ZXNlIHNtYWxsLCB3ZWxsLW1hZGUgbGl0dGxlIGJvb2tzIGludHJvZHVjZWQg
51
+ c29tZSBhbWF6aW5nIGZpY3Rpb24sIHBoaWxvc29waHksIGNsYXNzaWNhbCB0
52
+ aG91Z2h0IGFuZCBzcGlyaXR1YWxpc20gdG8gYSBodW5ncnkgYXVkaWVuY2Us
53
+ IGFuZCB0aGUgbG93IHByaWNlIG1hZGUgaXQgZWFzeSB0byBidWlsZCBhIGxp
54
+ YnJhcnkgb2YgYW1hemluZyB0aXRsZXMgdGhhdCBjb3VsZCBmaXQgaW50byBh
55
+ IG1pbGsgY3JhdGUuIFBlbmd1aW4sIGl0IGNhbiBiZSBhcmd1ZWQsIGJyb3Vn
56
+ aHQgYWJvdXQgYW4gaW50ZWxsZWN0dWFsIHNlYSBjaGFuZ2UsIGJyaW5naW5n
57
+ IHVzIGJvdGggdGhlIHBvc3Qtd2FyIHdyaXRlcnMgb2Ygbm90ZSBhbmQsIGlu
58
+ IGFub3RoZXIgZGlyZWN0aW9uLCB0aGUgQmVhdHMgYW5kIHRoZSBzcGlyaXR1
59
+ YWwgcmlvdCBvZiB0aGUgMTk2MHMuXG5cbldoeSB3YXMgUGVuZ3VpbiBzbyBw
60
+ b3B1bGFyPyBBbmQgd2h5IGlzIHRoZSA2LWluY2ggS2luZGxlIFZveWFnZSBp
61
+ dHMgZW1vdGlvbmFsIHN1Y2Nlc3Nvcj8gQm90aCByZXZvbHV0aW9uaXplZCB0
62
+ aGUgcGh5c2ljYWwgbm90aW9uIG9mIGJvb2tzLlxuXG5JbiBQZW5ndWlu4oCZ
63
+ cyBjYXNlLCB0aGUgbWVkaXVtIHdhcyB0cnVseSB0aGUgbWVzc2FnZSwgYW5k
64
+ wqB0aGUgd3JpdGluZyBpbnNpZGUgdGhlIHNtYWxsLCBwb2NrZXRhYmxlIGJv
65
+ b2tzIGFsbG93ZWQgZm9yIHBvcnRhYmlsaXR5IGFuZCBlbmNvdXJhZ2VkIGNv
66
+ bGxlY3Rpb24uIEluIHRoZSBLaW5kbGUgVm95YWdl4oCZcyBjYXNlLCBBbWF6
67
+ b24gaGFzIGNyZWF0ZWQgYSBkZWxpZ2h0ZnVsIHRyYXZlbCBjb21wYW5pb24u
68
+ XG5cbkZpcnN0LCBsZXTigJlzIGFkZHJlc3MgdGhlIHNpemUuIFRoZSAkMTk5
69
+ IFZveWFnZSAoJDIxOSB3aXRob3V0IGFkcyBhbmQgd2l0aCAzRykgaXMgYWJv
70
+ dXQgYXMgYmlnIGFzIGEgUGVuZ3VpbiBwYXBlcmJhY2sgYW5kIGp1c3QgYSBi
71
+ aXQgYmlnZ2VyIChhbmQgdGhpY2tlcikgdGhhbiBhIHN0YW5kYXJkIHBhc3Nw
72
+ b3J0LiBJdOKAmXMgNy42IG1tIHRoaWNrIGFuZCByZW1vdmVkIGZyb20gaXRz
73
+ IGNhc2UgaXQgbG9va3MgYWJvdXQgYXMgc3Vic3RhbnRpYWwgYXMgYSB0aGlu
74
+ IHN0YWNrIG9mIHBhcGVyLlxuXG5UaGUgVm95YWdlIGlzIHRoZSBLaW5kbGUg
75
+ ZGlzdGlsbGVkLiBBbG1vc3QgYWxsIG9mIHRoZSBmZWF0dXJlcyBhcmUgdGhl
76
+ cmUg4oCTIHRvdWNoc2NyZWVuLCBicmlnaHQgd2hpdGUgZS1pbmsgZGlzcGxh
77
+ eSwgYW5kIGV2ZW4gYSBzcGVjaWFsIGhhcHRpYyBmZWVkYmFjayBzeXN0ZW0g
78
+ dGhhdCBhbGxvd3MgeW91IHRvIOKAnGNsaWNr4oCdIGxlZnQgYW5kIHJpZ2h0
79
+ IHNpZGUgYnV0dG9ucyB0byB0dXJuIHBhZ2VzLiBZb3UgY2FuIGFsc28gc3dp
80
+ cGUgdGhlIHBhZ2UgbGVmdCBhbmQgcmlnaHQgdG8gbW92ZSB0byB0aGUgbmV4
81
+ dCBwYWdlIGFuZCBzbWFsbCBkZWRpY2F0ZWQgc3BvdHMgYWJvdmUgdGhlIGxv
82
+ bmdlciB0b3VjaC1zZW5zaXRpdmUgcGFkcyB0aGF0IGdvIGJhY2sgb25lIHBh
83
+ Z2UuXG5cbkFtYXpvbiBzZWxscyBhbiAkNDUgZm9sZGluZyBjYXNlIGZvciB0
84
+ aGUgVm95YWdlIHRoYXQgb3BlbnMgdXAgbGlrZSBhIE1vbGVza2luZSByZXBv
85
+ cnRlcuKAmXMgbm90ZWJvb2suIEl0IGFjdGl2YXRlcyB0aGUgS2luZGxlIHVw
86
+ b24gb3BlbmluZyBhbmQgdHVybnMgaXQgb2ZmIHdoZW4gY2xvc2VkLiBIaWRk
87
+ ZW4gbWFnbmV0cyB0aGVuIGFsbG93IHlvdSB0byB0dXJuIHRoZSBjb3ZlciBp
88
+ bnRvIGEgbGl0dGxlIHN0YW5kIGZvciBoYW5kcy1mcmVlIHJlYWRpbmcuXG5c
89
+ blNvIGhvdyBkb2VzIGl0IHdvcms/IEluIHNob3J0LCBJIGxvdmUgZS1pbmsg
90
+ ZGV2aWNlcywgYW5kIHRoZSBWb3lhZ2UgaXMgdGhlIGJlc3Qgb2YgdGhlbS4g
91
+ QmVjYXVzZSBpdCBsYSIsImNsYXNzZXMiOlt7ImxhYmVsIjoidm95YWdlIiwi
92
+ c2NvcmUiOjAuMDE0fSx7ImxhYmVsIjoidHJhdmVsIiwic2NvcmUiOjAuMDA2
93
+ fSx7ImxhYmVsIjoicHJlc2lkZW50Iiwic2NvcmUiOjAuMDAyfV19
94
+ http_version:
95
+ recorded_at: Tue, 10 Feb 2015 14:06:29 GMT
96
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,57 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api.aylien.com/api/v1/classify
6
+ body:
7
+ encoding: US-ASCII
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&class=voyage&class=travel&class=president
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - Aylien Text API Ruby Gem 0.1.0
16
+ Content-Type:
17
+ - application/x-www-form-urlencoded
18
+ App-Id:
19
+ - "<PASSWORD>"
20
+ App-Key:
21
+ - "<PASSWORD>"
22
+ response:
23
+ status:
24
+ code: 200
25
+ message: OK
26
+ headers:
27
+ Server:
28
+ - openresty/1.5.12.1
29
+ Date:
30
+ - Tue, 10 Feb 2015 14:06:25 GMT
31
+ Content-Type:
32
+ - application/json;charset=UTF-8
33
+ Content-Length:
34
+ - '605'
35
+ Connection:
36
+ - keep-alive
37
+ X-Ratelimit-Limit:
38
+ - '207000'
39
+ X-Ratelimit-Remaining:
40
+ - '205366'
41
+ X-Ratelimit-Reset:
42
+ - '1423612800'
43
+ body:
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
+ }
55
+ http_version:
56
+ recorded_at: Tue, 10 Feb 2015 14:06:10 GMT
57
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,96 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api.aylien.com/api/v1/classify/unsupervised
6
+ body:
7
+ encoding: US-ASCII
8
+ string: url=http%3A%2F%2Ftechcrunch.com%2F2014%2F10%2F20%2Fthe-super-slim-kindle-voyage-is-a-great-travel-companion%2F&class=voyage&class=travel&class=president
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - Aylien Text API Ruby Gem 0.1.0
16
+ Content-Type:
17
+ - application/x-www-form-urlencoded
18
+ App-Id:
19
+ - "<PASSWORD>"
20
+ App-Key:
21
+ - "<PASSWORD>"
22
+ response:
23
+ status:
24
+ code: 200
25
+ message: OK
26
+ headers:
27
+ Server:
28
+ - openresty/1.5.12.1
29
+ Date:
30
+ - Tue, 10 Feb 2015 14:07:05 GMT
31
+ Content-Type:
32
+ - application/json;charset=UTF-8
33
+ Content-Length:
34
+ - '2154'
35
+ Connection:
36
+ - keep-alive
37
+ X-Ratelimit-Limit:
38
+ - '207000'
39
+ X-Ratelimit-Remaining:
40
+ - '205362'
41
+ X-Ratelimit-Reset:
42
+ - '1423612800'
43
+ body:
44
+ encoding: ASCII-8BIT
45
+ string: !binary |-
46
+ eyJ0ZXh0IjoiSW4gMTkzNSwgU2lyIEFsbGVuIExhbmUgYW5kIFYuIEsuIEty
47
+ aXNobmEgTWVub24gZm91bmRlZCBQZW5ndWluIEJvb2tzLCBhIGNvbXBhbnkg
48
+ ZGVkaWNhdGVkIHRvIHByb2R1Y2luZyBoaWdoLXF1YWxpdHksIHNtYWxsLWZv
49
+ cm1hdCBwYXBlcmJhY2sgYm9va3MgZm9yIHRoZSB3b3JsZCBtYXJrZXQuIFRo
50
+ ZXNlIHNtYWxsLCB3ZWxsLW1hZGUgbGl0dGxlIGJvb2tzIGludHJvZHVjZWQg
51
+ c29tZSBhbWF6aW5nIGZpY3Rpb24sIHBoaWxvc29waHksIGNsYXNzaWNhbCB0
52
+ aG91Z2h0IGFuZCBzcGlyaXR1YWxpc20gdG8gYSBodW5ncnkgYXVkaWVuY2Us
53
+ IGFuZCB0aGUgbG93IHByaWNlIG1hZGUgaXQgZWFzeSB0byBidWlsZCBhIGxp
54
+ YnJhcnkgb2YgYW1hemluZyB0aXRsZXMgdGhhdCBjb3VsZCBmaXQgaW50byBh
55
+ IG1pbGsgY3JhdGUuIFBlbmd1aW4sIGl0IGNhbiBiZSBhcmd1ZWQsIGJyb3Vn
56
+ aHQgYWJvdXQgYW4gaW50ZWxsZWN0dWFsIHNlYSBjaGFuZ2UsIGJyaW5naW5n
57
+ IHVzIGJvdGggdGhlIHBvc3Qtd2FyIHdyaXRlcnMgb2Ygbm90ZSBhbmQsIGlu
58
+ IGFub3RoZXIgZGlyZWN0aW9uLCB0aGUgQmVhdHMgYW5kIHRoZSBzcGlyaXR1
59
+ YWwgcmlvdCBvZiB0aGUgMTk2MHMuXG5cbldoeSB3YXMgUGVuZ3VpbiBzbyBw
60
+ b3B1bGFyPyBBbmQgd2h5IGlzIHRoZSA2LWluY2ggS2luZGxlIFZveWFnZSBp
61
+ dHMgZW1vdGlvbmFsIHN1Y2Nlc3Nvcj8gQm90aCByZXZvbHV0aW9uaXplZCB0
62
+ aGUgcGh5c2ljYWwgbm90aW9uIG9mIGJvb2tzLlxuXG5JbiBQZW5ndWlu4oCZ
63
+ cyBjYXNlLCB0aGUgbWVkaXVtIHdhcyB0cnVseSB0aGUgbWVzc2FnZSwgYW5k
64
+ wqB0aGUgd3JpdGluZyBpbnNpZGUgdGhlIHNtYWxsLCBwb2NrZXRhYmxlIGJv
65
+ b2tzIGFsbG93ZWQgZm9yIHBvcnRhYmlsaXR5IGFuZCBlbmNvdXJhZ2VkIGNv
66
+ bGxlY3Rpb24uIEluIHRoZSBLaW5kbGUgVm95YWdl4oCZcyBjYXNlLCBBbWF6
67
+ b24gaGFzIGNyZWF0ZWQgYSBkZWxpZ2h0ZnVsIHRyYXZlbCBjb21wYW5pb24u
68
+ XG5cbkZpcnN0LCBsZXTigJlzIGFkZHJlc3MgdGhlIHNpemUuIFRoZSAkMTk5
69
+ IFZveWFnZSAoJDIxOSB3aXRob3V0IGFkcyBhbmQgd2l0aCAzRykgaXMgYWJv
70
+ dXQgYXMgYmlnIGFzIGEgUGVuZ3VpbiBwYXBlcmJhY2sgYW5kIGp1c3QgYSBi
71
+ aXQgYmlnZ2VyIChhbmQgdGhpY2tlcikgdGhhbiBhIHN0YW5kYXJkIHBhc3Nw
72
+ b3J0LiBJdOKAmXMgNy42IG1tIHRoaWNrIGFuZCByZW1vdmVkIGZyb20gaXRz
73
+ IGNhc2UgaXQgbG9va3MgYWJvdXQgYXMgc3Vic3RhbnRpYWwgYXMgYSB0aGlu
74
+ IHN0YWNrIG9mIHBhcGVyLlxuXG5UaGUgVm95YWdlIGlzIHRoZSBLaW5kbGUg
75
+ ZGlzdGlsbGVkLiBBbG1vc3QgYWxsIG9mIHRoZSBmZWF0dXJlcyBhcmUgdGhl
76
+ cmUg4oCTIHRvdWNoc2NyZWVuLCBicmlnaHQgd2hpdGUgZS1pbmsgZGlzcGxh
77
+ eSwgYW5kIGV2ZW4gYSBzcGVjaWFsIGhhcHRpYyBmZWVkYmFjayBzeXN0ZW0g
78
+ dGhhdCBhbGxvd3MgeW91IHRvIOKAnGNsaWNr4oCdIGxlZnQgYW5kIHJpZ2h0
79
+ IHNpZGUgYnV0dG9ucyB0byB0dXJuIHBhZ2VzLiBZb3UgY2FuIGFsc28gc3dp
80
+ cGUgdGhlIHBhZ2UgbGVmdCBhbmQgcmlnaHQgdG8gbW92ZSB0byB0aGUgbmV4
81
+ dCBwYWdlIGFuZCBzbWFsbCBkZWRpY2F0ZWQgc3BvdHMgYWJvdmUgdGhlIGxv
82
+ bmdlciB0b3VjaC1zZW5zaXRpdmUgcGFkcyB0aGF0IGdvIGJhY2sgb25lIHBh
83
+ Z2UuXG5cbkFtYXpvbiBzZWxscyBhbiAkNDUgZm9sZGluZyBjYXNlIGZvciB0
84
+ aGUgVm95YWdlIHRoYXQgb3BlbnMgdXAgbGlrZSBhIE1vbGVza2luZSByZXBv
85
+ cnRlcuKAmXMgbm90ZWJvb2suIEl0IGFjdGl2YXRlcyB0aGUgS2luZGxlIHVw
86
+ b24gb3BlbmluZyBhbmQgdHVybnMgaXQgb2ZmIHdoZW4gY2xvc2VkLiBIaWRk
87
+ ZW4gbWFnbmV0cyB0aGVuIGFsbG93IHlvdSB0byB0dXJuIHRoZSBjb3ZlciBp
88
+ bnRvIGEgbGl0dGxlIHN0YW5kIGZvciBoYW5kcy1mcmVlIHJlYWRpbmcuXG5c
89
+ blNvIGhvdyBkb2VzIGl0IHdvcms/IEluIHNob3J0LCBJIGxvdmUgZS1pbmsg
90
+ ZGV2aWNlcywgYW5kIHRoZSBWb3lhZ2UgaXMgdGhlIGJlc3Qgb2YgdGhlbS4g
91
+ QmVjYXVzZSBpdCBsYSIsImNsYXNzZXMiOlt7ImxhYmVsIjoidm95YWdlIiwi
92
+ c2NvcmUiOjAuMDE0fSx7ImxhYmVsIjoidHJhdmVsIiwic2NvcmUiOjAuMDA2
93
+ fSx7ImxhYmVsIjoicHJlc2lkZW50Iiwic2NvcmUiOjAuMDAyfV19
94
+ http_version:
95
+ recorded_at: Tue, 10 Feb 2015 14:06:50 GMT
96
+ recorded_with: VCR 2.9.3
@@ -2,9 +2,17 @@ require_relative '../../spec_helper'
2
2
 
3
3
  describe AylienTextApi::Client do
4
4
  before do
5
- @client = AylienTextApi::Client.new(
6
- app_id: CONFIG["text_api"]["correct_keys"]["app_id"],
7
- app_key: CONFIG["text_api"]["correct_keys"]["app_key"])
5
+ if CONFIG["text_api"]["correct_keys"]["base_uri"] &&
6
+ !CONFIG["text_api"]["correct_keys"]["base_uri"].empty?
7
+ @client = AylienTextApi::Client.new(
8
+ app_id: CONFIG["text_api"]["correct_keys"]["app_id"],
9
+ app_key: CONFIG["text_api"]["correct_keys"]["app_key"],
10
+ base_uri: CONFIG["text_api"]["correct_keys"]["base_uri"])
11
+ else
12
+ @client = AylienTextApi::Client.new(
13
+ app_id: CONFIG["text_api"]["correct_keys"]["app_id"],
14
+ app_key: CONFIG["text_api"]["correct_keys"]["app_key"])
15
+ end
8
16
  @unauthenticated_client = AylienTextApi::Client.new(
9
17
  app_id: CONFIG["text_api"]["incorrect_keys"]["app_id"],
10
18
  app_key: CONFIG["text_api"]["incorrect_keys"]["app_key"])
@@ -20,4 +28,6 @@ describe AylienTextApi::Client do
20
28
  require_relative './related'
21
29
  require_relative './sentiment'
22
30
  require_relative './summarize'
31
+ require_relative './microformats'
32
+ require_relative './unsupervised_classify'
23
33
  end
@@ -0,0 +1,66 @@
1
+ # encoding: utf-8
2
+
3
+ describe "Microformats endpoint" do
4
+ before do
5
+ @url = "http://codepen.io/anon/pen/ZYaKbz.html"
6
+ end
7
+
8
+ it "shouldn't be nil with valid url" do
9
+ VCR.use_cassette('microformats_with_valid_url') do
10
+ result = @client.microformats(url: @url)
11
+ result.wont_be_nil
12
+ end
13
+ end
14
+
15
+ it "shouldn't be nil with value as valid url" do
16
+ VCR.use_cassette('microformats_with_value_as_valid_url') do
17
+ result = @client.microformats(@url)
18
+ result.wont_be_nil
19
+ end
20
+ end
21
+
22
+ it "should be nil with invalid params" do
23
+ VCR.use_cassette('microformats_with_invalid_params') do
24
+ result = @client.microformats(wrong_param: @url)
25
+ result.must_be_nil
26
+ end
27
+ end
28
+
29
+ it "should be nil with unauthenticated client" do
30
+ VCR.use_cassette('microformats_with_unauthenticated_client') do
31
+ result = @unauthenticated_client.microformats(url: @url)
32
+ result.must_be_nil
33
+ end
34
+ end
35
+
36
+ it "should raise Forbidden with unauthenticated client" do
37
+ VCR.use_cassette('microformats_with_unauthenticated_client') do
38
+ proc {
39
+ @unauthenticated_client.microformats!(url: @url)
40
+ }.must_raise AylienTextApi::Error::Forbidden
41
+ end
42
+ end
43
+
44
+ it "should be nil with invalid client" do
45
+ VCR.use_cassette('microformats_with_invalid_client') do
46
+ result = @invalid_client.microformats(url: @url)
47
+ result.must_be_nil
48
+ end
49
+ end
50
+
51
+ it "should raise Forbidden with invalid client" do
52
+ VCR.use_cassette('microformats_with_invalid_client') do
53
+ proc {
54
+ @invalid_client.microformats!(url: @url)
55
+ }.must_raise AylienTextApi::Error::Forbidden
56
+ end
57
+ end
58
+
59
+ it "should raise BadRequest with invalid params" do
60
+ VCR.use_cassette('microformats_with_invalid_params') do
61
+ proc {
62
+ @client.microformats!(wrong_param: @url)
63
+ }.must_raise AylienTextApi::Error::BadRequest
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,87 @@
1
+ # encoding: utf-8
2
+
3
+ describe "Unsupervised Classify 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(CCTV footage shows the moment a suicide car bomber detonates
7
+ a device in Beirut on Tuesday. The incident took place in an area
8
+ of support for Hezbollah and left four people dead with many more wounded.
9
+ A group calling itself the al-Nusra Front in Lebanon has claimed
10
+ responsibility for the attack saying it was in retaliation for
11
+ Hezbollah's military support of president Bashar al-Assad's forces in Syria)
12
+ @classes = ['voyage', 'travel', 'president']
13
+ end
14
+
15
+ it "shouldn't be nil with valid url" do
16
+ VCR.use_cassette('unsupervised_classify_with_valid_url') do
17
+ result = @client.unsupervised_classify(url: @url, classes: @classes)
18
+ result.wont_be_nil
19
+ end
20
+ end
21
+
22
+ it "shouldn't be nil with text" do
23
+ VCR.use_cassette('unsupervised_classify_with_text') do
24
+ result = @client.unsupervised_classify(text: @text, classes: @classes)
25
+ result.wont_be_nil
26
+ end
27
+ end
28
+
29
+ it "shouldn't be nil with value as valid url" do
30
+ VCR.use_cassette('unsupervised_classify_with_value_as_valid_url') do
31
+ result = @client.unsupervised_classify(@url, classes: @classes)
32
+ result.wont_be_nil
33
+ end
34
+ end
35
+
36
+ it "shouldn't be nil with value as value" do
37
+ VCR.use_cassette('unsupervised_classify_with_value_as_text') do
38
+ result = @client.classify(@text, classes: @classes)
39
+ result.wont_be_nil
40
+ end
41
+ end
42
+
43
+ it "should be nil with invalid params" do
44
+ VCR.use_cassette('unsupervised_classify_with_invalid_params') do
45
+ result = @client.unsupervised_classify(wrong_param: @text, classes: @classes)
46
+ result.must_be_nil
47
+ end
48
+ end
49
+
50
+ it "should be nil with unauthenticated client" do
51
+ VCR.use_cassette('unsupervised_classify_with_unauthenticated_client') do
52
+ result = @unauthenticated_client.unsupervised_classify(text: @text, classes: @classes)
53
+ result.must_be_nil
54
+ end
55
+ end
56
+
57
+ it "should raise Forbidden with unauthenticated client" do
58
+ VCR.use_cassette('unsupervised_classify_with_unauthenticated_client') do
59
+ proc {
60
+ @unauthenticated_client.unsupervised_classify!(text: @text, classes: @classes)
61
+ }.must_raise AylienTextApi::Error::Forbidden
62
+ end
63
+ end
64
+
65
+ it "should be nil with invalid client" do
66
+ VCR.use_cassette('unsupervised_classify_with_invalid_client') do
67
+ result = @invalid_client.unsupervised_classify(text: @text, classes: @classes)
68
+ result.must_be_nil
69
+ end
70
+ end
71
+
72
+ it "should raise Forbidden with invalid client" do
73
+ VCR.use_cassette('unsupervised_classify_with_invalid_client') do
74
+ proc {
75
+ @invalid_client.unsupervised_classify!(text: @text, classes: @classes)
76
+ }.must_raise AylienTextApi::Error::Forbidden
77
+ end
78
+ end
79
+
80
+ it "should raise BadRequest with invalid params" do
81
+ VCR.use_cassette('classify_with_invalid_params') do
82
+ proc {
83
+ @client.classify!(wrong_param: @text, classes: @classes)
84
+ }.must_raise AylienTextApi::Error::BadRequest
85
+ end
86
+ end
87
+ 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.0.4
4
+ version: 0.1.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: 2014-12-03 00:00:00.000000000 Z
12
+ date: 2015-02-10 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
@@ -132,6 +132,11 @@ files:
132
132
  - spec/fixtures/aylien_text_api/client/language_with_valid_url.yml
133
133
  - spec/fixtures/aylien_text_api/client/language_with_value_as_text.yml
134
134
  - spec/fixtures/aylien_text_api/client/language_with_value_as_valid_url.yml
135
+ - spec/fixtures/aylien_text_api/client/microformats_with_invalid_client.yml
136
+ - spec/fixtures/aylien_text_api/client/microformats_with_invalid_params.yml
137
+ - spec/fixtures/aylien_text_api/client/microformats_with_unauthenticated_client.yml
138
+ - spec/fixtures/aylien_text_api/client/microformats_with_valid_url.yml
139
+ - spec/fixtures/aylien_text_api/client/microformats_with_value_as_valid_url.yml
135
140
  - spec/fixtures/aylien_text_api/client/related_with_invalid_client.yml
136
141
  - spec/fixtures/aylien_text_api/client/related_with_invalid_params.yml
137
142
  - spec/fixtures/aylien_text_api/client/related_with_phrase.yml
@@ -153,6 +158,13 @@ files:
153
158
  - spec/fixtures/aylien_text_api/client/summarize_with_value_as_text_and_title.yml
154
159
  - spec/fixtures/aylien_text_api/client/summarize_with_value_as_text_and_without_title.yml
155
160
  - spec/fixtures/aylien_text_api/client/summarize_with_value_as_valid_url.yml
161
+ - spec/fixtures/aylien_text_api/client/unsupervised_classify_with_invalid_client.yml
162
+ - spec/fixtures/aylien_text_api/client/unsupervised_classify_with_invalid_params.yml
163
+ - spec/fixtures/aylien_text_api/client/unsupervised_classify_with_text.yml
164
+ - spec/fixtures/aylien_text_api/client/unsupervised_classify_with_unauthenticated_client.yml
165
+ - spec/fixtures/aylien_text_api/client/unsupervised_classify_with_valid_url.yml
166
+ - spec/fixtures/aylien_text_api/client/unsupervised_classify_with_value_as_text.yml
167
+ - spec/fixtures/aylien_text_api/client/unsupervised_classify_with_value_as_valid_url.yml
156
168
  - spec/lib/aylien_text_api/classify.rb
157
169
  - spec/lib/aylien_text_api/client_spec.rb
158
170
  - spec/lib/aylien_text_api/concepts.rb
@@ -160,9 +172,11 @@ files:
160
172
  - spec/lib/aylien_text_api/extract.rb
161
173
  - spec/lib/aylien_text_api/hashtags.rb
162
174
  - spec/lib/aylien_text_api/language.rb
175
+ - spec/lib/aylien_text_api/microformats.rb
163
176
  - spec/lib/aylien_text_api/related.rb
164
177
  - spec/lib/aylien_text_api/sentiment.rb
165
178
  - spec/lib/aylien_text_api/summarize.rb
179
+ - spec/lib/aylien_text_api/unsupervised_classify.rb
166
180
  - spec/spec_helper.rb
167
181
  homepage: https://github.com/AYLIEN/aylien_textapi_ruby
168
182
  licenses:
@@ -184,11 +198,97 @@ required_rubygems_version: !ruby/object:Gem::Requirement
184
198
  version: '0'
185
199
  requirements: []
186
200
  rubyforge_project:
187
- rubygems_version: 2.4.4
201
+ rubygems_version: 2.4.5
188
202
  signing_key:
189
203
  specification_version: 4
190
204
  summary: Aylien Text API is a package of nine different Natural Language Processing,
191
205
  Information Retrieval and Machine Learning APIs that can be quickly and easily adapted
192
206
  to your processes and applications.
193
- test_files: []
194
- has_rdoc:
207
+ test_files:
208
+ - spec/fixtures/aylien_text_api/client/classify_with_invalid_client.yml
209
+ - spec/fixtures/aylien_text_api/client/classify_with_invalid_params.yml
210
+ - spec/fixtures/aylien_text_api/client/classify_with_text.yml
211
+ - spec/fixtures/aylien_text_api/client/classify_with_unauthenticated_client.yml
212
+ - spec/fixtures/aylien_text_api/client/classify_with_valid_url.yml
213
+ - spec/fixtures/aylien_text_api/client/classify_with_value_as_text.yml
214
+ - spec/fixtures/aylien_text_api/client/classify_with_value_as_valid_url.yml
215
+ - spec/fixtures/aylien_text_api/client/concepts_with_invalid_client.yml
216
+ - spec/fixtures/aylien_text_api/client/concepts_with_invalid_params.yml
217
+ - spec/fixtures/aylien_text_api/client/concepts_with_text.yml
218
+ - spec/fixtures/aylien_text_api/client/concepts_with_unauthenticated_client.yml
219
+ - spec/fixtures/aylien_text_api/client/concepts_with_valid_url.yml
220
+ - spec/fixtures/aylien_text_api/client/concepts_with_value_as_text.yml
221
+ - spec/fixtures/aylien_text_api/client/concepts_with_value_as_valid_url.yml
222
+ - spec/fixtures/aylien_text_api/client/entities_with_invalid_client.yml
223
+ - spec/fixtures/aylien_text_api/client/entities_with_invalid_params.yml
224
+ - spec/fixtures/aylien_text_api/client/entities_with_text.yml
225
+ - spec/fixtures/aylien_text_api/client/entities_with_unauthenticated_client.yml
226
+ - spec/fixtures/aylien_text_api/client/entities_with_valid_url.yml
227
+ - spec/fixtures/aylien_text_api/client/entities_with_value_as_text.yml
228
+ - spec/fixtures/aylien_text_api/client/entities_with_value_as_valid_url.yml
229
+ - spec/fixtures/aylien_text_api/client/extract_with_invalid_client.yml
230
+ - spec/fixtures/aylien_text_api/client/extract_with_invalid_params.yml
231
+ - spec/fixtures/aylien_text_api/client/extract_with_unauthenticated_client.yml
232
+ - spec/fixtures/aylien_text_api/client/extract_with_valid_url.yml
233
+ - spec/fixtures/aylien_text_api/client/extract_with_value_as_text.yml
234
+ - spec/fixtures/aylien_text_api/client/extract_with_value_as_valid_url.yml
235
+ - spec/fixtures/aylien_text_api/client/hashtags_with_invalid_client.yml
236
+ - spec/fixtures/aylien_text_api/client/hashtags_with_invalid_params.yml
237
+ - spec/fixtures/aylien_text_api/client/hashtags_with_text.yml
238
+ - spec/fixtures/aylien_text_api/client/hashtags_with_unauthenticated_client.yml
239
+ - spec/fixtures/aylien_text_api/client/hashtags_with_valid_url.yml
240
+ - spec/fixtures/aylien_text_api/client/hashtags_with_value_as_text.yml
241
+ - spec/fixtures/aylien_text_api/client/hashtags_with_value_as_valid_url.yml
242
+ - spec/fixtures/aylien_text_api/client/language_with_invalid_client.yml
243
+ - spec/fixtures/aylien_text_api/client/language_with_invalid_params.yml
244
+ - spec/fixtures/aylien_text_api/client/language_with_unauthenticated_client.yml
245
+ - spec/fixtures/aylien_text_api/client/language_with_valid_text.yml
246
+ - spec/fixtures/aylien_text_api/client/language_with_valid_url.yml
247
+ - spec/fixtures/aylien_text_api/client/language_with_value_as_text.yml
248
+ - spec/fixtures/aylien_text_api/client/language_with_value_as_valid_url.yml
249
+ - spec/fixtures/aylien_text_api/client/microformats_with_invalid_client.yml
250
+ - spec/fixtures/aylien_text_api/client/microformats_with_invalid_params.yml
251
+ - spec/fixtures/aylien_text_api/client/microformats_with_unauthenticated_client.yml
252
+ - spec/fixtures/aylien_text_api/client/microformats_with_valid_url.yml
253
+ - spec/fixtures/aylien_text_api/client/microformats_with_value_as_valid_url.yml
254
+ - spec/fixtures/aylien_text_api/client/related_with_invalid_client.yml
255
+ - spec/fixtures/aylien_text_api/client/related_with_invalid_params.yml
256
+ - spec/fixtures/aylien_text_api/client/related_with_phrase.yml
257
+ - spec/fixtures/aylien_text_api/client/related_with_unauthenticated_client.yml
258
+ - spec/fixtures/aylien_text_api/client/related_with_value_as_phrase.yml
259
+ - spec/fixtures/aylien_text_api/client/related_with_value_as_valid_url.yml
260
+ - spec/fixtures/aylien_text_api/client/sentiment_with_invalid_client.yml
261
+ - spec/fixtures/aylien_text_api/client/sentiment_with_invalid_params.yml
262
+ - spec/fixtures/aylien_text_api/client/sentiment_with_text.yml
263
+ - spec/fixtures/aylien_text_api/client/sentiment_with_unauthenticated_client.yml
264
+ - spec/fixtures/aylien_text_api/client/sentiment_with_valid_url.yml
265
+ - spec/fixtures/aylien_text_api/client/sentiment_with_value_as_text.yml
266
+ - spec/fixtures/aylien_text_api/client/sentiment_with_value_as_valid_url.yml
267
+ - spec/fixtures/aylien_text_api/client/summarize_with_invalid_client.yml
268
+ - spec/fixtures/aylien_text_api/client/summarize_with_invalid_params.yml
269
+ - spec/fixtures/aylien_text_api/client/summarize_with_title_and_text.yml
270
+ - spec/fixtures/aylien_text_api/client/summarize_with_unauthenticated_client.yml
271
+ - spec/fixtures/aylien_text_api/client/summarize_with_valid_url.yml
272
+ - spec/fixtures/aylien_text_api/client/summarize_with_value_as_text_and_title.yml
273
+ - spec/fixtures/aylien_text_api/client/summarize_with_value_as_text_and_without_title.yml
274
+ - spec/fixtures/aylien_text_api/client/summarize_with_value_as_valid_url.yml
275
+ - spec/fixtures/aylien_text_api/client/unsupervised_classify_with_invalid_client.yml
276
+ - spec/fixtures/aylien_text_api/client/unsupervised_classify_with_invalid_params.yml
277
+ - spec/fixtures/aylien_text_api/client/unsupervised_classify_with_text.yml
278
+ - spec/fixtures/aylien_text_api/client/unsupervised_classify_with_unauthenticated_client.yml
279
+ - spec/fixtures/aylien_text_api/client/unsupervised_classify_with_valid_url.yml
280
+ - spec/fixtures/aylien_text_api/client/unsupervised_classify_with_value_as_text.yml
281
+ - spec/fixtures/aylien_text_api/client/unsupervised_classify_with_value_as_valid_url.yml
282
+ - spec/lib/aylien_text_api/classify.rb
283
+ - spec/lib/aylien_text_api/client_spec.rb
284
+ - spec/lib/aylien_text_api/concepts.rb
285
+ - spec/lib/aylien_text_api/entities.rb
286
+ - spec/lib/aylien_text_api/extract.rb
287
+ - spec/lib/aylien_text_api/hashtags.rb
288
+ - spec/lib/aylien_text_api/language.rb
289
+ - spec/lib/aylien_text_api/microformats.rb
290
+ - spec/lib/aylien_text_api/related.rb
291
+ - spec/lib/aylien_text_api/sentiment.rb
292
+ - spec/lib/aylien_text_api/summarize.rb
293
+ - spec/lib/aylien_text_api/unsupervised_classify.rb
294
+ - spec/spec_helper.rb