vocabulary 0.0.2 → 0.0.3
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.
- data/lib/vocabulary.rb +31 -11
- data/lib/vocabulary/version.rb +1 -1
- metadata +4 -4
    
        data/lib/vocabulary.rb
    CHANGED
    
    | @@ -2,16 +2,34 @@ require 'httparty' | |
| 2 2 | 
             
            require "vocabulary/version"
         | 
| 3 3 |  | 
| 4 4 | 
             
            module Vocabulary
         | 
| 5 | 
            +
              class LookUpError < ::StandardError
         | 
| 6 | 
            +
                attr_accessor :summary
         | 
| 7 | 
            +
                def initialize(summary)
         | 
| 8 | 
            +
                  super "Error while parsing Dictionary API response, may be you requested non-existent word. Response: #{summary}"
         | 
| 9 | 
            +
                  @summary = summary
         | 
| 10 | 
            +
                end
         | 
| 11 | 
            +
              end
         | 
| 12 | 
            +
              
         | 
| 5 13 | 
             
              class Word
         | 
| 6 14 | 
             
                attr_accessor :part_of_speech, :meanings
         | 
| 7 15 |  | 
| 8 | 
            -
                def initialize summary
         | 
| 9 | 
            -
                   | 
| 10 | 
            -
             | 
| 16 | 
            +
                def initialize summary, source_lang
         | 
| 17 | 
            +
                  begin
         | 
| 18 | 
            +
                    @meanings = []
         | 
| 19 | 
            +
                  
         | 
| 20 | 
            +
                    if source_lang == :en
         | 
| 21 | 
            +
                      @part_of_speech = summary["primaries"][0]["terms"][0]["labels"][0]["text"]
         | 
| 22 | 
            +
                      collection = summary["primaries"][0]["entries"]
         | 
| 23 | 
            +
                    else
         | 
| 24 | 
            +
                      @part_of_speech = summary["primaries"][0]["entries"][0]["labels"][0]["text"]
         | 
| 25 | 
            +
                      collection = summary["primaries"][0]["entries"][0]["entries"]
         | 
| 26 | 
            +
                    end
         | 
| 11 27 |  | 
| 12 | 
            -
             | 
| 13 | 
            -
             | 
| 14 | 
            -
                     | 
| 28 | 
            +
                    collection.each do |meaning|
         | 
| 29 | 
            +
                      @meanings << meaning["terms"][0]["text"]
         | 
| 30 | 
            +
                    end
         | 
| 31 | 
            +
                  rescue
         | 
| 32 | 
            +
                    raise Vocabulary::LookUpError.new(summary)
         | 
| 15 33 | 
             
                  end
         | 
| 16 34 | 
             
                end
         | 
| 17 35 | 
             
              end
         | 
| @@ -28,8 +46,8 @@ module Vocabulary | |
| 28 46 | 
             
                  options[:query] = {
         | 
| 29 47 | 
             
                    :callback => "substr",
         | 
| 30 48 | 
             
                    :q => word,
         | 
| 31 | 
            -
                    :sl => target_lang,
         | 
| 32 | 
            -
                    :tl => source_lang
         | 
| 49 | 
            +
                    :sl => target_lang, # source lang
         | 
| 50 | 
            +
                    :tl => source_lang # target lang
         | 
| 33 51 | 
             
                  }
         | 
| 34 52 |  | 
| 35 53 | 
             
                  response = self.class.get("/dictionary/json", options)
         | 
| @@ -43,7 +61,9 @@ module Vocabulary | |
| 43 61 |  | 
| 44 62 | 
             
              def self.lookup(word, source_lang, target_lang = nil)
         | 
| 45 63 | 
             
                target_lang ||= :en
         | 
| 46 | 
            -
                 | 
| 47 | 
            -
                 | 
| 64 | 
            +
                raise ArgumentError, "Word can't be blank" unless word.present?
         | 
| 65 | 
            +
                data = Vocabulary::Dictionary.new.get(word, source_lang.to_s, target_lang.to_s)
         | 
| 66 | 
            +
                # return data
         | 
| 67 | 
            +
                Vocabulary::Word.new(data, source_lang)
         | 
| 48 68 | 
             
              end
         | 
| 49 | 
            -
            end
         | 
| 69 | 
            +
            end
         | 
    
        data/lib/vocabulary/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: vocabulary
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.0. | 
| 4 | 
            +
              version: 0.0.3
         | 
| 5 5 | 
             
              prerelease: 
         | 
| 6 6 | 
             
            platform: ruby
         | 
| 7 7 | 
             
            authors:
         | 
| @@ -9,11 +9,11 @@ authors: | |
| 9 9 | 
             
            autorequire: 
         | 
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date: 2011-11- | 
| 12 | 
            +
            date: 2011-11-28 00:00:00.000000000Z
         | 
| 13 13 | 
             
            dependencies:
         | 
| 14 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 15 | 
             
              name: httparty
         | 
| 16 | 
            -
              requirement: & | 
| 16 | 
            +
              requirement: &70110412886780 !ruby/object:Gem::Requirement
         | 
| 17 17 | 
             
                none: false
         | 
| 18 18 | 
             
                requirements:
         | 
| 19 19 | 
             
                - - ! '>='
         | 
| @@ -21,7 +21,7 @@ dependencies: | |
| 21 21 | 
             
                    version: '0'
         | 
| 22 22 | 
             
              type: :runtime
         | 
| 23 23 | 
             
              prerelease: false
         | 
| 24 | 
            -
              version_requirements: * | 
| 24 | 
            +
              version_requirements: *70110412886780
         | 
| 25 25 | 
             
            description: 
         | 
| 26 26 | 
             
            email:
         | 
| 27 27 | 
             
            - razor.psp@gmail.com
         |