openamplify 0.2.3 → 0.3.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.
@@ -0,0 +1,102 @@
1
+ require 'helper'
2
+
3
+ describe OpenAmplify::Analysis do
4
+
5
+ before do
6
+ @api = OpenAmplify::Client.new
7
+ end
8
+
9
+ it 'can return result as string' do
10
+ result = @api.amplify amplify_input
11
+ result.to_s.wont_be_empty
12
+ end
13
+
14
+ describe 'output format' do
15
+ it 'xml' do
16
+ result = @api.amplify(amplify_input, :output_format => :xml)
17
+
18
+ require 'nokogiri'
19
+ Nokogiri::XML(result).wont_be_nil
20
+ end
21
+
22
+ it 'json' do
23
+ result = @api.amplify(amplify_input, :output_format => :json)
24
+
25
+ require 'json'
26
+ JSON.parse(result).wont_be_nil
27
+ end
28
+
29
+ %w(xml json json_js rdf rdfa csv signals pretty dart oas).each do |format|
30
+ it "should output #{format}" do
31
+ result = @api.amplify amplify_input
32
+ result.send("to_#{format}").wont_be_nil
33
+ end
34
+ end
35
+
36
+ end
37
+
38
+ describe 'input analysis' do
39
+ it 'knows a text' do
40
+ result = @api.amplify amplify_input
41
+ result.to_s.wont_be_empty
42
+ end
43
+
44
+ it 'knows a url' do
45
+ result = @api.amplify 'http://theonion.com'
46
+
47
+ require 'json'
48
+ JSON.parse(result.to_json).wont_be_nil
49
+ end
50
+ end
51
+
52
+ it 'should have default values' do
53
+ result = @api.amplify amplify_input
54
+
55
+ OpenAmplify::Configuration::VALID_OPTIONS_KEYS.each do |key|
56
+ result.send(key).must_equal OpenAmplify.options[key]
57
+ end
58
+ end
59
+
60
+ it 'should accept option values' do
61
+ options = {
62
+ :analysis => :topics,
63
+ :output_format => :json,
64
+ :scoring => :standard,
65
+ }
66
+
67
+ result = @api.amplify amplify_input, options
68
+
69
+ options.each do |key, value|
70
+ result.send(key).must_equal options[key]
71
+ end
72
+ end
73
+
74
+ it 'should point the client' do
75
+ result = @api.amplify amplify_input
76
+ result.client.must_equal @api
77
+ end
78
+
79
+ it 'should accept option from client' do
80
+ options = {
81
+ :analysis => :topics,
82
+ :output_format => :json,
83
+ :scoring => :fans,
84
+ }
85
+
86
+ api = OpenAmplify::Client.new(options)
87
+ result = api.amplify amplify_input
88
+
89
+ options.each do |key, value|
90
+ result.send(key).must_equal options[key]
91
+ end
92
+ end
93
+
94
+ describe 'deprecated methods' do
95
+
96
+ it 'analyze_text' do
97
+ @api.analyze_text amplify_input
98
+ end
99
+
100
+ end
101
+
102
+ end
@@ -0,0 +1,67 @@
1
+ require 'helper'
2
+
3
+ describe OpenAmplify::Client do
4
+
5
+ before do
6
+ @keys = OpenAmplify::Configuration::VALID_CONFIG_KEYS
7
+ end
8
+
9
+ describe 'with module configuration' do
10
+ before do
11
+ OpenAmplify.configure do |config|
12
+ @keys.each do |key|
13
+ config.send("#{key}=", key)
14
+ end
15
+ end
16
+ end
17
+
18
+ after do
19
+ OpenAmplify.reset
20
+ end
21
+
22
+ it "should inherit module configuration" do
23
+ api = OpenAmplify::Client.new
24
+ @keys.each do |key|
25
+ api.send(key).must_equal key
26
+ end
27
+ end
28
+
29
+ describe 'with class configuration' do
30
+ before do
31
+ @config = {
32
+ :api_key => 'ak',
33
+ :analysis => 'an',
34
+ :output_format => 'of',
35
+ :scoring => 'sc',
36
+ :endpoint => 'ep',
37
+ :user_agent => 'ua',
38
+ :method => 'hm',
39
+ :adapter => 'ha',
40
+ }
41
+ end
42
+
43
+ it 'should override module configuration' do
44
+ api = OpenAmplify::Client.new(@config)
45
+
46
+ @keys.each do |key|
47
+ api.send(key).must_equal @config[key]
48
+ end
49
+ end
50
+
51
+ it 'should override module configuration after' do
52
+ api = OpenAmplify::Client.new
53
+
54
+ @config.each do |key, value|
55
+ api.send("#{key}=", value)
56
+ end
57
+
58
+ @keys.each do |key|
59
+ api.send("#{key}").must_equal @config[key]
60
+ end
61
+ end
62
+
63
+ end
64
+
65
+ end
66
+
67
+ end
@@ -0,0 +1,38 @@
1
+ require 'helper'
2
+
3
+ describe OpenAmplify::Configuration do
4
+
5
+ after do
6
+ OpenAmplify.reset
7
+ end
8
+
9
+ describe '.configure' do
10
+ OpenAmplify::Configuration::VALID_OPTIONS_KEYS.each do |key|
11
+ it "should set the #{key}" do
12
+ OpenAmplify.configure do |config|
13
+ config.send("#{key}=", key)
14
+ OpenAmplify.send(key).must_equal key
15
+ end
16
+ end
17
+ end
18
+ end
19
+
20
+ describe '.user_agent' do
21
+ it 'should return the default user agent' do
22
+ OpenAmplify.user_agent.must_equal OpenAmplify::Configuration::DEFAULT_USER_AGENT
23
+ end
24
+ end
25
+
26
+ describe '.endpoint' do
27
+ it 'should return the default endpoint' do
28
+ OpenAmplify.endpoint.must_equal OpenAmplify::Configuration::DEFAULT_ENDPOINT
29
+ end
30
+ end
31
+
32
+ describe '.http_method' do
33
+ it 'should return the default http method' do
34
+ OpenAmplify.method.must_equal OpenAmplify::Configuration::DEFAULT_HTTP_METHOD
35
+ end
36
+ end
37
+
38
+ end
@@ -0,0 +1,10 @@
1
+ require 'helper'
2
+
3
+ describe OpenAmplify::Error do
4
+
5
+ it 'should raise error when wrong or missing api key' do
6
+ client = OpenAmplify::Client.new(:api_key => 'some random key')
7
+ lambda { client.amplify 'sample' }.must_raise OpenAmplify::Error::Forbidden
8
+ end
9
+
10
+ end
metadata CHANGED
@@ -1,97 +1,122 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: openamplify
3
- version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 0
7
- - 2
8
- - 3
9
- version: 0.2.3
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.3.0
5
+ prerelease:
10
6
  platform: ruby
11
- authors:
7
+ authors:
12
8
  - Greg Moreno
13
9
  autorequire:
14
10
  bindir: bin
15
11
  cert_chain: []
16
-
17
- date: 2010-06-22 00:00:00 -07:00
18
- default_executable:
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
21
- name: json
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
24
- requirements:
25
- - - ~>
26
- - !ruby/object:Gem::Version
27
- segments:
28
- - 1
29
- - 2
30
- version: "1.2"
12
+ date: 2012-09-24 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: faraday
16
+ requirement: &70095171618300 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
31
22
  type: :runtime
32
- version_requirements: *id001
33
- - !ruby/object:Gem::Dependency
34
- name: shoulda
35
23
  prerelease: false
36
- requirement: &id002 !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ~>
39
- - !ruby/object:Gem::Version
40
- segments:
41
- - 2
42
- - 11
43
- version: "2.11"
24
+ version_requirements: *70095171618300
25
+ - !ruby/object:Gem::Dependency
26
+ name: minitest
27
+ requirement: &70095171609520 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
44
33
  type: :development
45
- version_requirements: *id002
46
- description: The OpenAmplify API reads text you supply and returns linguistic data explaining and classifying the content.
47
- email: rubyoncloud@gmail.com
48
- executables: []
49
-
34
+ prerelease: false
35
+ version_requirements: *70095171609520
36
+ - !ruby/object:Gem::Dependency
37
+ name: nokogiri
38
+ requirement: &70095171602420 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ type: :development
45
+ prerelease: false
46
+ version_requirements: *70095171602420
47
+ - !ruby/object:Gem::Dependency
48
+ name: json
49
+ requirement: &70095171597380 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: *70095171597380
58
+ description: The OpenAmplify API reads text you supply and returns linguistic data
59
+ explaining and classifying the content.
60
+ email:
61
+ - greg.moreno@gmail.com
62
+ executables:
63
+ - openamplify
50
64
  extensions: []
51
-
52
- extra_rdoc_files:
53
- - LICENSE
54
- - README.rdoc
55
- files:
65
+ extra_rdoc_files: []
66
+ files:
56
67
  - .gitignore
68
+ - Gemfile
57
69
  - History
58
70
  - LICENSE
59
71
  - README.rdoc
60
72
  - Rakefile
61
- - VERSION.yml
73
+ - TODO
74
+ - bin/openamplify
62
75
  - lib/openamplify.rb
63
- - lib/openamplify/validations.rb
76
+ - lib/openamplify/analysis/context.rb
77
+ - lib/openamplify/client.rb
78
+ - lib/openamplify/configuration.rb
79
+ - lib/openamplify/connection.rb
80
+ - lib/openamplify/error.rb
81
+ - lib/openamplify/request.rb
82
+ - lib/openamplify/response/raise_client_error.rb
83
+ - lib/openamplify/response/raise_server_error.rb
84
+ - lib/openamplify/version.rb
64
85
  - openamplify.gemspec
65
- - test/test_openamplify.rb
66
- has_rdoc: true
67
- homepage: http://github.com/gregmoreno/openamplify
86
+ - test/fixtures/input.txt
87
+ - test/helper.rb
88
+ - test/openamplify/analysis_test.rb
89
+ - test/openamplify/client_test.rb
90
+ - test/openamplify/configuration_test.rb
91
+ - test/openamplify/error_test.rb
92
+ homepage: ''
68
93
  licenses: []
69
-
70
94
  post_install_message:
71
- rdoc_options:
72
- - --charset=UTF-8
73
- require_paths:
95
+ rdoc_options: []
96
+ require_paths:
74
97
  - lib
75
- required_ruby_version: !ruby/object:Gem::Requirement
76
- requirements:
77
- - - ">="
78
- - !ruby/object:Gem::Version
79
- segments:
80
- - 0
81
- version: "0"
82
- required_rubygems_version: !ruby/object:Gem::Requirement
83
- requirements:
84
- - - ">="
85
- - !ruby/object:Gem::Version
86
- segments:
87
- - 0
88
- version: "0"
98
+ required_ruby_version: !ruby/object:Gem::Requirement
99
+ none: false
100
+ requirements:
101
+ - - ! '>='
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ required_rubygems_version: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
89
110
  requirements: []
90
-
91
- rubyforge_project:
92
- rubygems_version: 1.3.6
111
+ rubyforge_project: openamplify
112
+ rubygems_version: 1.8.10
93
113
  signing_key:
94
114
  specification_version: 3
95
115
  summary: Wrapper for the OpenAmplify API
96
- test_files:
97
- - test/test_openamplify.rb
116
+ test_files:
117
+ - test/fixtures/input.txt
118
+ - test/helper.rb
119
+ - test/openamplify/analysis_test.rb
120
+ - test/openamplify/client_test.rb
121
+ - test/openamplify/configuration_test.rb
122
+ - test/openamplify/error_test.rb
@@ -1,5 +0,0 @@
1
- ---
2
- :minor: 2
3
- :patch: 3
4
- :build:
5
- :major: 0
@@ -1,38 +0,0 @@
1
- module OpenAmplify
2
-
3
- class NotAcceptable < StandardError; end
4
- class NotSupported < StandardError; end
5
- class Forbidden < StandardError; end
6
-
7
-
8
- def self.validate_client!(client)
9
- raise ArgumentError, "missing api key" if client.api_key.blank?
10
- raise ArgumentError, "missing api url" if client.api_url.blank?
11
- end
12
-
13
- def self.validate_response!(response)
14
- case response.code.to_i
15
- when 403
16
- raise Forbidden, "(#{response.code}: #{response.message}) #{response.body}"
17
- when 405
18
- raise NotSupported, "(#{response.code}: #{response.message}) #{response.body}"
19
- when 406
20
- raise NotAcceptable, "(#{response.code}: #{response.message}) #{response.body}"
21
- end
22
- end
23
-
24
-
25
- end
26
-
27
- class String
28
- def blank?
29
- nil? || empty? || strip.empty?
30
- end
31
- end
32
-
33
- class NilClass
34
- def blank?
35
- nil?
36
- end
37
- end
38
-