detect_language 1.0.3 → 1.0.4
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.
- checksums.yaml +7 -0
- data/.travis.yml +1 -0
- data/README.md +18 -1
- data/lib/detect_language/client.rb +15 -8
- data/lib/detect_language/version.rb +1 -1
- data/lib/detect_language.rb +9 -1
- data/spec/detect_language_spec.rb +32 -14
- metadata +7 -15
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 3eec3e59102acef4077e83636c3b1ce52866800f
|
4
|
+
data.tar.gz: 7e5402f124611bc840d2ac82e9db819e86e12a76
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 82bba14b46f34f1afa1f32414d156cf49c2a1cc2a7329cbdd5812b566e5e344326d09d410f40abc70be2acb9f3a3886eaae20a223adcf08e24b6d55449fab04e
|
7
|
+
data.tar.gz: 2435578b1aded7ad01896501e0de0b161de96c6028f306aea4332d7efa458935686d01381ac5c9d636e02a84a0a0b223cec856cdd35e6f23cc799c34d72eebd4
|
data/.travis.yml
CHANGED
data/README.md
CHANGED
@@ -3,7 +3,7 @@ Detect Language API Client [
|
15
|
+
execute(method, params, :http_method => Net::HTTP::Post)
|
16
|
+
end
|
17
|
+
|
18
|
+
def get(method, params = {})
|
19
|
+
execute(method, params, :http_method => Net::HTTP::Get)
|
20
|
+
end
|
16
21
|
|
17
|
-
|
22
|
+
private
|
18
23
|
|
19
|
-
|
24
|
+
def execute(method, params, options)
|
25
|
+
http = setup_http_connection
|
26
|
+
http_method = options[:http_method]
|
27
|
+
request_params = params.merge(:key => configuration.api_key)
|
28
|
+
request = http_method.new(request_uri(method))
|
20
29
|
|
21
30
|
if RUBY_VERSION == '1.8.7'
|
22
31
|
set_form_data_18(request, request_params)
|
@@ -36,12 +45,10 @@ module DetectLanguage
|
|
36
45
|
end
|
37
46
|
end
|
38
47
|
|
39
|
-
private
|
40
|
-
|
41
48
|
def parse_response(response_body)
|
42
49
|
response = JSON.parse(response_body)
|
43
50
|
|
44
|
-
if response["error"].nil?
|
51
|
+
if response.is_a?(Array) || response["error"].nil?
|
45
52
|
response
|
46
53
|
else
|
47
54
|
raise Exception.new(response["error"]["message"])
|
@@ -88,4 +95,4 @@ module DetectLanguage
|
|
88
95
|
end
|
89
96
|
|
90
97
|
end
|
91
|
-
end
|
98
|
+
end
|
data/lib/detect_language.rb
CHANGED
@@ -23,7 +23,7 @@ module DetectLanguage
|
|
23
23
|
|
24
24
|
def detect(data)
|
25
25
|
key = data.is_a?(Array) ? 'q[]' : 'q'
|
26
|
-
result = client.
|
26
|
+
result = client.post(:detect, key => data)
|
27
27
|
result['data']['detections']
|
28
28
|
end
|
29
29
|
|
@@ -36,5 +36,13 @@ module DetectLanguage
|
|
36
36
|
detections[0]['language']
|
37
37
|
end
|
38
38
|
end
|
39
|
+
|
40
|
+
def user_status
|
41
|
+
client.post('user/status')
|
42
|
+
end
|
43
|
+
|
44
|
+
def languages
|
45
|
+
client.get('languages')
|
46
|
+
end
|
39
47
|
end
|
40
48
|
end
|
@@ -4,9 +4,14 @@ require 'spec_helper'
|
|
4
4
|
|
5
5
|
describe DetectLanguage do
|
6
6
|
|
7
|
+
let(:api_key) { '93dfb956a294140a4370a09584af2ef6' }
|
8
|
+
|
9
|
+
before do
|
10
|
+
DetectLanguage.configuration.api_key = api_key
|
11
|
+
end
|
12
|
+
|
7
13
|
context "configuration" do
|
8
14
|
it "should have default configuration values" do
|
9
|
-
subject.configuration.api_key.should be_nil
|
10
15
|
subject.configuration.api_version.should == '0.2'
|
11
16
|
subject.configuration.host.should == 'ws.detectlanguage.com'
|
12
17
|
subject.configuration.user_agent.should == 'Detect Language API ruby gem'
|
@@ -21,12 +26,17 @@ describe DetectLanguage do
|
|
21
26
|
end
|
22
27
|
end
|
23
28
|
|
24
|
-
context
|
25
|
-
|
26
|
-
|
27
|
-
|
29
|
+
context 'invalid api key' do
|
30
|
+
let(:api_key) { 'invalid' }
|
31
|
+
|
32
|
+
it "should raise exception for invalid key" do
|
33
|
+
lambda {
|
34
|
+
subject.detect("Hello world")
|
35
|
+
}.should raise_error(::DetectLanguage::Exception)
|
28
36
|
end
|
37
|
+
end
|
29
38
|
|
39
|
+
context "detection" do
|
30
40
|
it "should detect languages" do
|
31
41
|
result = subject.detect("Hello world")
|
32
42
|
result[0]['language'].should == "en"
|
@@ -47,16 +57,24 @@ describe DetectLanguage do
|
|
47
57
|
end
|
48
58
|
end
|
49
59
|
|
50
|
-
|
51
|
-
|
60
|
+
describe '.user_status' do
|
61
|
+
subject(:user_status) { DetectLanguage.user_status }
|
52
62
|
|
53
|
-
|
63
|
+
it 'fetches user status' do
|
64
|
+
expect(user_status['date']).to be_kind_of(String)
|
65
|
+
expect(user_status['requests']).to be_kind_of(Integer)
|
66
|
+
expect(user_status['bytes']).to be_kind_of(Integer)
|
67
|
+
expect(user_status['plan']).to be_kind_of(String)
|
68
|
+
expect(user_status['daily_requests_limit']).to be_kind_of(Integer)
|
69
|
+
expect(user_status['daily_bytes_limit']).to be_kind_of(Integer)
|
70
|
+
end
|
71
|
+
end
|
54
72
|
|
55
|
-
|
56
|
-
|
57
|
-
}.should raise_error(::DetectLanguage::Exception)
|
73
|
+
describe '.languages' do
|
74
|
+
subject(:languages) { DetectLanguage.languages }
|
58
75
|
|
59
|
-
|
76
|
+
it 'fetches list of detectable languages' do
|
77
|
+
expect(languages).to include({'code' => 'en', 'name' => 'ENGLISH'})
|
78
|
+
end
|
60
79
|
end
|
61
|
-
|
62
|
-
end
|
80
|
+
end
|
metadata
CHANGED
@@ -1,15 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: detect_language
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
5
|
-
prerelease:
|
4
|
+
version: 1.0.4
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Laurynas Butkus
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-
|
11
|
+
date: 2013-11-17 00:00:00.000000000 Z
|
13
12
|
dependencies: []
|
14
13
|
description: Language Detection API Client
|
15
14
|
email:
|
@@ -35,33 +34,26 @@ files:
|
|
35
34
|
- spec/spec_helper.rb
|
36
35
|
homepage: https://github.com/detectlanguage/detect_language
|
37
36
|
licenses: []
|
37
|
+
metadata: {}
|
38
38
|
post_install_message:
|
39
39
|
rdoc_options: []
|
40
40
|
require_paths:
|
41
41
|
- lib
|
42
42
|
required_ruby_version: !ruby/object:Gem::Requirement
|
43
|
-
none: false
|
44
43
|
requirements:
|
45
|
-
- -
|
44
|
+
- - '>='
|
46
45
|
- !ruby/object:Gem::Version
|
47
46
|
version: '0'
|
48
|
-
segments:
|
49
|
-
- 0
|
50
|
-
hash: -807280730191114243
|
51
47
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
52
|
-
none: false
|
53
48
|
requirements:
|
54
|
-
- -
|
49
|
+
- - '>='
|
55
50
|
- !ruby/object:Gem::Version
|
56
51
|
version: '0'
|
57
|
-
segments:
|
58
|
-
- 0
|
59
|
-
hash: -807280730191114243
|
60
52
|
requirements: []
|
61
53
|
rubyforge_project:
|
62
|
-
rubygems_version:
|
54
|
+
rubygems_version: 2.0.6
|
63
55
|
signing_key:
|
64
|
-
specification_version:
|
56
|
+
specification_version: 4
|
65
57
|
summary: Detects language of given text. Returns detected language codes and scores.
|
66
58
|
test_files:
|
67
59
|
- spec/detect_language_spec.rb
|