mini-levenshtein 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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')
|