google_spell_checker 0.0.0 → 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.
- checksums.yaml +4 -4
 - data/.gitignore +1 -0
 - data/README.md +24 -0
 - data/google_spell_checker.gemspec +15 -0
 - data/lib/generators/google_spell_checker/config_generator.rb +16 -0
 - data/lib/generators/google_spell_checker/templates/google_spell_checker_config.rb +4 -0
 - data/lib/google_spell_checker/config.rb +27 -0
 - data/lib/google_spell_checker/version.rb +3 -0
 - data/lib/google_spell_checker.rb +23 -6
 - metadata +9 -2
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 6637d2b991d84b685bc8d64ceb521640672f3364
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: b2224570f1539679694f70954524b28e1f78faa5
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 211b76f40429b7b35b1eebada985395cc2c0524e5647d42d726c2fc61b84d53ae79713fdd89e3e3ccd201055ffbabb45d1b9a50eac7a4bd0f25064b1884b0a9e
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 9b4aa6d77e0ec0116d54325c2aa97ea9d82ad9ccd6cbf002a3c0937bae775df9640acadf00c12e82f736161d523e2b421b17ac3962d3fe227f3855433f5ceb91
         
     | 
    
        data/.gitignore
    ADDED
    
    | 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            *.gem
         
     | 
    
        data/README.md
    ADDED
    
    | 
         @@ -0,0 +1,24 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            google_spell_checker
         
     | 
| 
      
 2 
     | 
    
         
            +
            ====================
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            ###Intro
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
            This gem is using google to check word's spelling.
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
            ###Installation
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
            ```
         
     | 
| 
      
 12 
     | 
    
         
            +
            gem 'google_spell_checker','0.0.0'
         
     | 
| 
      
 13 
     | 
    
         
            +
            ```
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
            and run the `bundle` command.
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
            ###Examples
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
            ```
         
     | 
| 
      
 20 
     | 
    
         
            +
            GoogleSpellChecker.check 'take m to your heatr'
         
     | 
| 
      
 21 
     | 
    
         
            +
            => "take <em>me</em> to your <em>heart</em>"
         
     | 
| 
      
 22 
     | 
    
         
            +
            ```
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
            If there is no incorrect word, it will output void character. 
         
     | 
| 
         @@ -0,0 +1,15 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            $:.push File.expand_path("../lib",__FILE__)
         
     | 
| 
      
 2 
     | 
    
         
            +
            require 'google_spell_checker/version'
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            Gem::Specification.new do |s|
         
     | 
| 
      
 5 
     | 
    
         
            +
            	s.name          = 'google_spell_checker'
         
     | 
| 
      
 6 
     | 
    
         
            +
              s.version       = GoogleSpellChecker::VERSION
         
     | 
| 
      
 7 
     | 
    
         
            +
            	s.date          = '2014-02-18'
         
     | 
| 
      
 8 
     | 
    
         
            +
            	s.summary       = 'Google spell checker'
         
     | 
| 
      
 9 
     | 
    
         
            +
            	s.description   = 'A simple spell checking gem using google'
         
     | 
| 
      
 10 
     | 
    
         
            +
            	s.authors       = ['Michael Ji']
         
     | 
| 
      
 11 
     | 
    
         
            +
            	s.email         = 'zilong@gmail.com'
         
     | 
| 
      
 12 
     | 
    
         
            +
            	s.homepage = 'https://github.com/apprentice1988/google_spell_checker.git'
         
     | 
| 
      
 13 
     | 
    
         
            +
              s.files         = `git ls-files`.split("\n")
         
     | 
| 
      
 14 
     | 
    
         
            +
              s.require_paths = ['lib']
         
     | 
| 
      
 15 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,16 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module GoogleSpellChecker
         
     | 
| 
      
 2 
     | 
    
         
            +
              module Generators
         
     | 
| 
      
 3 
     | 
    
         
            +
                class ConfigGenerator < Rails::Generators::Base
         
     | 
| 
      
 4 
     | 
    
         
            +
                  source_root File.expand_path(File.join(File.dirname(__FILE__), 'templates'))
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
                  desc <<DESC
         
     | 
| 
      
 7 
     | 
    
         
            +
            Description:
         
     | 
| 
      
 8 
     | 
    
         
            +
                Copies GoogleSpellChecker configuration file to your application's initializer directory.
         
     | 
| 
      
 9 
     | 
    
         
            +
            DESC
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
                  def copy_config_file
         
     | 
| 
      
 12 
     | 
    
         
            +
                    template 'google_spell_checker_config.rb', 'config/initializers/google_spell_checker_config.rb'
         
     | 
| 
      
 13 
     | 
    
         
            +
                  end
         
     | 
| 
      
 14 
     | 
    
         
            +
                end
         
     | 
| 
      
 15 
     | 
    
         
            +
              end
         
     | 
| 
      
 16 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,27 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'active_support/configurable'
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            module GoogleSpellChecker
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
              def self.configure(&block)
         
     | 
| 
      
 6 
     | 
    
         
            +
                yield @config ||= GoogleSpellChecker::Configuration.new
         
     | 
| 
      
 7 
     | 
    
         
            +
              end
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
              def self.config 
         
     | 
| 
      
 10 
     | 
    
         
            +
                @config 
         
     | 
| 
      
 11 
     | 
    
         
            +
              end
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
              class Configuration
         
     | 
| 
      
 14 
     | 
    
         
            +
                include ActiveSupport::Configurable 
         
     | 
| 
      
 15 
     | 
    
         
            +
                config_accessor :using_hk
         
     | 
| 
      
 16 
     | 
    
         
            +
                config.using_hk = false
         
     | 
| 
      
 17 
     | 
    
         
            +
              end
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
              def param_name
         
     | 
| 
      
 20 
     | 
    
         
            +
                config.param_name.respond_to?(:call) ? config.param_name.call : config.param_name
         
     | 
| 
      
 21 
     | 
    
         
            +
              end
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
              # define param_name writer (copied from AS::Configurable)
         
     | 
| 
      
 24 
     | 
    
         
            +
              writer, line = 'def param_name=(value); config.param_name = value; end', __LINE__
         
     | 
| 
      
 25 
     | 
    
         
            +
              singleton_class.class_eval writer, __FILE__, line
         
     | 
| 
      
 26 
     | 
    
         
            +
              class_eval writer, __FILE__, line
         
     | 
| 
      
 27 
     | 
    
         
            +
            end
         
     | 
    
        data/lib/google_spell_checker.rb
    CHANGED
    
    | 
         @@ -1,15 +1,32 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            #encoding: utf-8
         
     | 
| 
       2 
2 
     | 
    
         
             
            require 'net/http'
         
     | 
| 
       3 
     | 
    
         
            -
             
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
       5 
     | 
    
         
            -
              SPELL_EXP = Regexp.new(/(\s|\w)*<em>(\w)*<\/em\>(\s|\w)*/)
         
     | 
| 
       6 
     | 
    
         
            -
              
         
     | 
| 
      
 3 
     | 
    
         
            +
            require 'google_spell_checker/config'
         
     | 
| 
      
 4 
     | 
    
         
            +
            module GoogleSpellChecker
         
     | 
| 
       7 
5 
     | 
    
         
             
              def self.check content
         
     | 
| 
      
 6 
     | 
    
         
            +
                check_using_hk?
         
     | 
| 
       8 
7 
     | 
    
         
             
                params = {:q=> content, :oq=> content}
         
     | 
| 
       9 
     | 
    
         
            -
                uri = URI( 
     | 
| 
      
 8 
     | 
    
         
            +
                uri = URI(@base)
         
     | 
| 
       10 
9 
     | 
    
         
             
                uri.query = URI.encode_www_form(params)
         
     | 
| 
       11 
10 
     | 
    
         
             
                res = Net::HTTP.get(uri)
         
     | 
| 
       12 
     | 
    
         
            -
                matches = res.to_enum(:scan 
     | 
| 
      
 11 
     | 
    
         
            +
                matches = res.to_enum(:scan,@regex).map{Regexp.last_match}
         
     | 
| 
       13 
12 
     | 
    
         
             
                matches[0,(matches.count/2)].inject(""){|result,match|result + match.to_s}
         
     | 
| 
       14 
13 
     | 
    
         
             
              end
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
              private
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
              def self.check_using_hk?
         
     | 
| 
      
 18 
     | 
    
         
            +
                if GoogleSpellChecker.config.using_hk
         
     | 
| 
      
 19 
     | 
    
         
            +
                  @base = "https://www.google.com.hk/search?"
         
     | 
| 
      
 20 
     | 
    
         
            +
                  @regex = Regexp.new(/(\s|\w)*<em>(\w)*<\/em\>(\s|\w)*/)
         
     | 
| 
      
 21 
     | 
    
         
            +
                else
         
     | 
| 
      
 22 
     | 
    
         
            +
                  @base = "https://www.google.com/search?"
         
     | 
| 
      
 23 
     | 
    
         
            +
                  @regex = Regexp.new(/(\s|\w)*<b><i>(\w)*<\/i\><\/b\>(\s|\w)*/)
         
     | 
| 
      
 24 
     | 
    
         
            +
                end
         
     | 
| 
      
 25 
     | 
    
         
            +
              end
         
     | 
| 
      
 26 
     | 
    
         
            +
            end
         
     | 
| 
      
 27 
     | 
    
         
            +
             
     | 
| 
      
 28 
     | 
    
         
            +
            begin
         
     | 
| 
      
 29 
     | 
    
         
            +
              require 'rails'
         
     | 
| 
      
 30 
     | 
    
         
            +
            rescue LoadError
         
     | 
| 
      
 31 
     | 
    
         
            +
              #do nothing
         
     | 
| 
       15 
32 
     | 
    
         
             
            end
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: google_spell_checker
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.1.0
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Michael Ji
         
     | 
| 
         @@ -16,7 +16,14 @@ executables: [] 
     | 
|
| 
       16 
16 
     | 
    
         
             
            extensions: []
         
     | 
| 
       17 
17 
     | 
    
         
             
            extra_rdoc_files: []
         
     | 
| 
       18 
18 
     | 
    
         
             
            files:
         
     | 
| 
      
 19 
     | 
    
         
            +
            - .gitignore
         
     | 
| 
      
 20 
     | 
    
         
            +
            - README.md
         
     | 
| 
      
 21 
     | 
    
         
            +
            - google_spell_checker.gemspec
         
     | 
| 
      
 22 
     | 
    
         
            +
            - lib/generators/google_spell_checker/config_generator.rb
         
     | 
| 
      
 23 
     | 
    
         
            +
            - lib/generators/google_spell_checker/templates/google_spell_checker_config.rb
         
     | 
| 
       19 
24 
     | 
    
         
             
            - lib/google_spell_checker.rb
         
     | 
| 
      
 25 
     | 
    
         
            +
            - lib/google_spell_checker/config.rb
         
     | 
| 
      
 26 
     | 
    
         
            +
            - lib/google_spell_checker/version.rb
         
     | 
| 
       20 
27 
     | 
    
         
             
            homepage: https://github.com/apprentice1988/google_spell_checker.git
         
     | 
| 
       21 
28 
     | 
    
         
             
            licenses: []
         
     | 
| 
       22 
29 
     | 
    
         
             
            metadata: {}
         
     | 
| 
         @@ -36,7 +43,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       36 
43 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       37 
44 
     | 
    
         
             
            requirements: []
         
     | 
| 
       38 
45 
     | 
    
         
             
            rubyforge_project: 
         
     | 
| 
       39 
     | 
    
         
            -
            rubygems_version: 2. 
     | 
| 
      
 46 
     | 
    
         
            +
            rubygems_version: 2.2.2
         
     | 
| 
       40 
47 
     | 
    
         
             
            signing_key: 
         
     | 
| 
       41 
48 
     | 
    
         
             
            specification_version: 4
         
     | 
| 
       42 
49 
     | 
    
         
             
            summary: Google spell checker
         
     |