mini-levenshtein 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 +7 -0
 - data/.github/workflows/ruby.yml +25 -0
 - data/.gitignore +2 -0
 - data/.rspec +2 -0
 - data/.ruby-version +1 -0
 - data/Gemfile +10 -0
 - data/Gemfile.lock +52 -0
 - data/README.md +15 -0
 - data/Rakefile +24 -0
 - data/ext/mini_levenshtein/extconf.rb +10 -0
 - data/ext/mini_levenshtein/levenshtein.c +1056 -0
 - data/ext/mini_levenshtein/levenshtein.h +146 -0
 - data/ext/mini_levenshtein/mini_levenshtein.c +32 -0
 - data/lib/mini-levenshtein/version.rb +5 -0
 - data/lib/mini-levenshtein.rb +33 -0
 - data/mini-levenshtein.gemspec +32 -0
 - metadata +63 -0
 
    
        checksums.yaml
    ADDED
    
    | 
         @@ -0,0 +1,7 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            ---
         
     | 
| 
      
 2 
     | 
    
         
            +
            SHA256:
         
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: c3a780c4f86bb3ef04672b62bb2e4eca2059af8e86a698a0dfb8030d38d7559f
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 036ca28be4f4a770e13015596ac3379287486386b93de221f4a60a27122277bd
         
     | 
| 
      
 5 
     | 
    
         
            +
            SHA512:
         
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 5706d550af3c94f592bf1359ea14b9efe0123241c6529628c94a46ac7bfa772af1cffe6523a86bc7d2bba71c8d2888cb4e2e546d3aa8b20a68aac048f64f2127
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: ad0d95b68d6113b1eb69a2a50bdfba73e287fb8a191aba23e68e705ddc1c787bbdfbc41502367a85b8c26bc511217696f60229c7d75916f9bc6b1e890a37445b
         
     | 
| 
         @@ -0,0 +1,25 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            name: Ruby
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            on:
         
     | 
| 
      
 4 
     | 
    
         
            +
              push:
         
     | 
| 
      
 5 
     | 
    
         
            +
                branches: [ master ]
         
     | 
| 
      
 6 
     | 
    
         
            +
              pull_request:
         
     | 
| 
      
 7 
     | 
    
         
            +
                branches: [ master ]
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
            jobs:
         
     | 
| 
      
 10 
     | 
    
         
            +
              test:
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
                runs-on: ubuntu-latest
         
     | 
| 
      
 13 
     | 
    
         
            +
                strategy:
         
     | 
| 
      
 14 
     | 
    
         
            +
                  matrix:
         
     | 
| 
      
 15 
     | 
    
         
            +
                    ruby-version: ['2.5', '2.6', '2.7', '3.0']
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
                steps:
         
     | 
| 
      
 18 
     | 
    
         
            +
                - uses: actions/checkout@v2
         
     | 
| 
      
 19 
     | 
    
         
            +
                - name: Set up Ruby
         
     | 
| 
      
 20 
     | 
    
         
            +
                  uses: ruby/setup-ruby@v1
         
     | 
| 
      
 21 
     | 
    
         
            +
                  with:
         
     | 
| 
      
 22 
     | 
    
         
            +
                    ruby-version: ${{ matrix.ruby-version }}
         
     | 
| 
      
 23 
     | 
    
         
            +
                    bundler-cache: true # runs 'bundle install' and caches installed gems automatically
         
     | 
| 
      
 24 
     | 
    
         
            +
                - name: Run tests
         
     | 
| 
      
 25 
     | 
    
         
            +
                  run: bundle exec rake spec
         
     | 
    
        data/.gitignore
    ADDED
    
    
    
        data/.rspec
    ADDED
    
    
    
        data/.ruby-version
    ADDED
    
    | 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            ruby 2.5.9
         
     | 
    
        data/Gemfile
    ADDED
    
    
    
        data/Gemfile.lock
    ADDED
    
    | 
         @@ -0,0 +1,52 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            PATH
         
     | 
| 
      
 2 
     | 
    
         
            +
              remote: .
         
     | 
| 
      
 3 
     | 
    
         
            +
              specs:
         
     | 
| 
      
 4 
     | 
    
         
            +
                mini-levenshtein (0.1.0)
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
            GEM
         
     | 
| 
      
 7 
     | 
    
         
            +
              remote: https://rubygems.org/
         
     | 
| 
      
 8 
     | 
    
         
            +
              specs:
         
     | 
| 
      
 9 
     | 
    
         
            +
                coderay (1.1.3)
         
     | 
| 
      
 10 
     | 
    
         
            +
                concurrent-ruby (1.1.10)
         
     | 
| 
      
 11 
     | 
    
         
            +
                diff-lcs (1.5.0)
         
     | 
| 
      
 12 
     | 
    
         
            +
                faker (2.20.0)
         
     | 
| 
      
 13 
     | 
    
         
            +
                  i18n (>= 1.8.11, < 2)
         
     | 
| 
      
 14 
     | 
    
         
            +
                i18n (1.10.0)
         
     | 
| 
      
 15 
     | 
    
         
            +
                  concurrent-ruby (~> 1.0)
         
     | 
| 
      
 16 
     | 
    
         
            +
                method_source (1.0.0)
         
     | 
| 
      
 17 
     | 
    
         
            +
                pry (0.14.1)
         
     | 
| 
      
 18 
     | 
    
         
            +
                  coderay (~> 1.1)
         
     | 
| 
      
 19 
     | 
    
         
            +
                  method_source (~> 1.0)
         
     | 
| 
      
 20 
     | 
    
         
            +
                rake (13.0.6)
         
     | 
| 
      
 21 
     | 
    
         
            +
                rake-compiler (1.2.0)
         
     | 
| 
      
 22 
     | 
    
         
            +
                  rake
         
     | 
| 
      
 23 
     | 
    
         
            +
                rspec (3.11.0)
         
     | 
| 
      
 24 
     | 
    
         
            +
                  rspec-core (~> 3.11.0)
         
     | 
| 
      
 25 
     | 
    
         
            +
                  rspec-expectations (~> 3.11.0)
         
     | 
| 
      
 26 
     | 
    
         
            +
                  rspec-mocks (~> 3.11.0)
         
     | 
| 
      
 27 
     | 
    
         
            +
                rspec-core (3.11.0)
         
     | 
| 
      
 28 
     | 
    
         
            +
                  rspec-support (~> 3.11.0)
         
     | 
| 
      
 29 
     | 
    
         
            +
                rspec-expectations (3.11.0)
         
     | 
| 
      
 30 
     | 
    
         
            +
                  diff-lcs (>= 1.2.0, < 2.0)
         
     | 
| 
      
 31 
     | 
    
         
            +
                  rspec-support (~> 3.11.0)
         
     | 
| 
      
 32 
     | 
    
         
            +
                rspec-mocks (3.11.1)
         
     | 
| 
      
 33 
     | 
    
         
            +
                  diff-lcs (>= 1.2.0, < 2.0)
         
     | 
| 
      
 34 
     | 
    
         
            +
                  rspec-support (~> 3.11.0)
         
     | 
| 
      
 35 
     | 
    
         
            +
                rspec-support (3.11.0)
         
     | 
| 
      
 36 
     | 
    
         
            +
                ruby-prof (1.4.3)
         
     | 
| 
      
 37 
     | 
    
         
            +
             
     | 
| 
      
 38 
     | 
    
         
            +
            PLATFORMS
         
     | 
| 
      
 39 
     | 
    
         
            +
              -darwin-21
         
     | 
| 
      
 40 
     | 
    
         
            +
              x86_64-linux
         
     | 
| 
      
 41 
     | 
    
         
            +
             
     | 
| 
      
 42 
     | 
    
         
            +
            DEPENDENCIES
         
     | 
| 
      
 43 
     | 
    
         
            +
              faker
         
     | 
| 
      
 44 
     | 
    
         
            +
              mini-levenshtein!
         
     | 
| 
      
 45 
     | 
    
         
            +
              pry
         
     | 
| 
      
 46 
     | 
    
         
            +
              rake
         
     | 
| 
      
 47 
     | 
    
         
            +
              rake-compiler
         
     | 
| 
      
 48 
     | 
    
         
            +
              rspec
         
     | 
| 
      
 49 
     | 
    
         
            +
              ruby-prof
         
     | 
| 
      
 50 
     | 
    
         
            +
             
     | 
| 
      
 51 
     | 
    
         
            +
            BUNDLED WITH
         
     | 
| 
      
 52 
     | 
    
         
            +
               2.3.6
         
     | 
    
        data/README.md
    ADDED
    
    | 
         @@ -0,0 +1,15 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # mini-levenshtein
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            Simple, fast, levenshtein distance
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            # Synopsis
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 8 
     | 
    
         
            +
            MiniLevenshtein.distance("levenshtein", "levenstien") # => 3
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
            MiniLevenshtein.ratio("levenshtein", "levenstien") # 0.857142...
         
     | 
| 
      
 11 
     | 
    
         
            +
            ```
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
            # Author
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
            Delon Newman <contact@delonnewman.name>
         
     | 
    
        data/Rakefile
    ADDED
    
    | 
         @@ -0,0 +1,24 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            require 'bundler/gem_tasks'
         
     | 
| 
      
 4 
     | 
    
         
            +
            require 'rspec/core/rake_task'
         
     | 
| 
      
 5 
     | 
    
         
            +
            require 'rake/dsl_definition'
         
     | 
| 
      
 6 
     | 
    
         
            +
            require 'rake'
         
     | 
| 
      
 7 
     | 
    
         
            +
            require 'rake/extensiontask'
         
     | 
| 
      
 8 
     | 
    
         
            +
            require 'rspec'
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
            RSpec::Core::RakeTask.new(:spec) do |rspec|
         
     | 
| 
      
 11 
     | 
    
         
            +
              rspec.pattern = FileList['spec/**/*_spec.rb']
         
     | 
| 
      
 12 
     | 
    
         
            +
            end
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
            Rake::ExtensionTask.new('mini_levenshtein') do |extension|
         
     | 
| 
      
 15 
     | 
    
         
            +
              extension.ext_dir = 'ext/mini_levenshtein'
         
     | 
| 
      
 16 
     | 
    
         
            +
              extension.lib_dir = 'lib/mini-levenshtein'
         
     | 
| 
      
 17 
     | 
    
         
            +
            end
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
            Rake::Task[:spec].prerequisites << :compile
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
            desc 'open an irb session preloaded with this gem'
         
     | 
| 
      
 22 
     | 
    
         
            +
            task :console do
         
     | 
| 
      
 23 
     | 
    
         
            +
              sh 'bundle exec pry -Ilib -rpp -rmini-levenshtein'
         
     | 
| 
      
 24 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,10 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            # Loads mkmf which is used to make makefiles for Ruby extensions
         
     | 
| 
      
 4 
     | 
    
         
            +
            require 'mkmf'
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
            # The destination
         
     | 
| 
      
 7 
     | 
    
         
            +
            dir_config('mini-levenshtein/mini_levenshtein')
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
            # Do the work
         
     | 
| 
      
 10 
     | 
    
         
            +
            create_makefile('mini-levenshtein/mini_levenshtein')
         
     |