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
         |