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')
|