fuzzy-string-match 0.9.5 → 0.9.6
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 +6 -14
- data/README.md +45 -5
- data/Rakefile +12 -24
- data/VERSION.yml +1 -1
- data/lib/fuzzystringmatch.rb +17 -16
- data/test/basic_native_spec.rb +2 -6
- data/test/basic_pure_spec.rb +3 -6
- metadata +16 -15
checksums.yaml
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
metadata.gz: !binary |-
|
9
|
-
NzVlODllOTIzYzU0NWU5MjIxNTVhOGFjMWViNjZlN2NmMjM5MmU1MjM4ODli
|
10
|
-
ZTRmZDY4NDkyYzc3ZjJiZTlmNzQ2MWFkZGE1ZDMyZTIxMTNlNzg1NDc1ZWI3
|
11
|
-
ZDM5OGNhZmYyYjc2YmRlZTU0NDEzNWZlZWMyYmQ4M2E0MjcxZGQ=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
ZTA4MzVmZWJjMGM3YjZkOGY2OGFjNmI1YjFkM2Y5MmYwZGFhOTIyOWVlMGNi
|
14
|
-
NWJkYzhmZjc5YTZlNmYyMGJjNGVmZjBiNDc3ZGQwMGFiM2JkNDZmNWJlNGRk
|
15
|
-
YzE1NmI3MGEzODBlNWQyZWIxYmJiZTA3YzUxOTJjNTNmNDRiY2I=
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: b354a1f27f7029336168498837d8437b0affd8bc
|
4
|
+
data.tar.gz: b925921e5ef9e99fc21e72d256411769406de2ec
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 4d926213cf459a40ce0f0c2eeaab879f6f962816486719e1a29f6b06ef03c32a5f47e788a4fc0f1f0e2ff6a13e45b090ed1ddface8aa988d04dce7e1a92380cb
|
7
|
+
data.tar.gz: 593964ef2f4c325214ebc49c1f3db29667dbce5ec50d05dad2071f24e45f65a83cc753720372f3c0c495839bd7c90816daec803cdd2ace062866154f514b8d62
|
data/README.md
CHANGED
@@ -17,10 +17,6 @@
|
|
17
17
|
|
18
18
|
gem install fuzzy-string-match
|
19
19
|
|
20
|
-
## Installing (pure ruby version)
|
21
|
-
|
22
|
-
gem install fuzzy-string-match_pure
|
23
|
-
|
24
20
|
## Features
|
25
21
|
* Calculate Jaro-Winkler distance of two strings.
|
26
22
|
* Pure ruby version can handle both ASCII and UTF8 strings. (and slow)
|
@@ -80,7 +76,7 @@
|
|
80
76
|
|
81
77
|
### for CRuby
|
82
78
|
- RubyInline
|
83
|
-
- Ruby 1.9.
|
79
|
+
- Ruby 1.9.2 or higher ( includes RubyInstaller.org's CRuby on Windows )
|
84
80
|
|
85
81
|
### for JRuby
|
86
82
|
- JRuby 1.6.6 or higher
|
@@ -95,4 +91,48 @@
|
|
95
91
|
- <http://github.com/naoya/perl-text-jarowinkler>
|
96
92
|
|
97
93
|
## License
|
94
|
+
|
98
95
|
- Apache 2.0 LICENSE
|
96
|
+
|
97
|
+
## ChangeLog
|
98
|
+
|
99
|
+
### 0.9.6 / Dec 21, 2013
|
100
|
+
|
101
|
+
* New feature: fuzzy-string-match falls back into pure ruby mode when c-compile fails.
|
102
|
+
* fuzzy-string-match_pure is obsolute gem
|
103
|
+
|
104
|
+
### 0.9.5 / Mar 26, 2013
|
105
|
+
|
106
|
+
* Fixed: 'jarowinkler.rb:42: warning: implicit conversion shortens 64-bit value into a 32-bit value' on MacOS X 64bit env.
|
107
|
+
|
108
|
+
### 0.9.4 / July 10, 2012
|
109
|
+
|
110
|
+
* Fixed: undefined method getDistance' error.
|
111
|
+
|
112
|
+
### 0.9.3 / Feb 27, 2012
|
113
|
+
|
114
|
+
* Changed gem dependency of `rspec'.
|
115
|
+
gemspec.dependency( "rspec" ) to gemspec.development_dependency( "rspec" )
|
116
|
+
|
117
|
+
### 0.9.2 / Feb 17, 2012
|
118
|
+
|
119
|
+
* Supported JRuby platform
|
120
|
+
* Divided into two gems.
|
121
|
+
|
122
|
+
1. fuzzy-string-match ... native (RubyInline) version.
|
123
|
+
2. fuzzy-string-match_pure ... pure ruby version
|
124
|
+
|
125
|
+
* Divided rspec files into several files.
|
126
|
+
|
127
|
+
* Supported testable gem
|
128
|
+
Please install rubygems-test and "gem test".
|
129
|
+
|
130
|
+
### 0.9.1 / Jul 30, 2011
|
131
|
+
|
132
|
+
* Changed gcc compiler's option for RubyInline.
|
133
|
+
|
134
|
+
* Stoped to use obsolute method of RSpec.
|
135
|
+
|
136
|
+
### 0.9.0 / Oct 12, 2010
|
137
|
+
|
138
|
+
* First release.
|
data/Rakefile
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
# Release Engineering
|
4
4
|
# 1. edit the VERSION.yml file
|
5
5
|
# 2. rake test
|
6
|
-
# 3. rake gemspec &&
|
6
|
+
# 3. rake gemspec && gem build fuzzy-string-match.gemspec
|
7
7
|
# to generate fuzzy-string-match-x.x.x.gem
|
8
8
|
# 4. install fuzzy-string-match-x.x.x.gem to clean environment and test
|
9
9
|
# 5. rake release
|
@@ -17,33 +17,12 @@ require 'rake'
|
|
17
17
|
begin
|
18
18
|
require 'jeweler2'
|
19
19
|
|
20
|
-
Jeweler::Tasks.new do |gemspec|
|
21
|
-
gemspec.name = "fuzzy-string-match_pure"
|
22
|
-
gemspec.summary = "fuzzy string matching library (Pure ruby version)"
|
23
|
-
gemspec.description = "calculate Jaro Winkler distance."
|
24
|
-
gemspec.email = "kiyoka@sumibi.org"
|
25
|
-
gemspec.homepage = "http://github.com/kiyoka/fuzzy-string-match"
|
26
|
-
gemspec.authors = ["Kiyoka Nishiyama"]
|
27
|
-
gemspec.files = FileList['.gemtest',
|
28
|
-
'Rakefile',
|
29
|
-
'VERSION.yml',
|
30
|
-
'lib/fuzzystringmatch/pure/jarowinkler.rb',
|
31
|
-
'lib/fuzzystringmatch/pure.rb',
|
32
|
-
'lib/fuzzystringmatch.rb',
|
33
|
-
'lib/*.rb',
|
34
|
-
'test/basic_pure_spec.rb',
|
35
|
-
'test/mutibyte_spec.rb',
|
36
|
-
'LICENSE.txt',
|
37
|
-
'README.md'].to_a
|
38
|
-
gemspec.add_development_dependency( "rspec" )
|
39
|
-
gemspec.required_ruby_version = '>= 1.9.1'
|
40
|
-
end
|
41
|
-
|
42
20
|
Jeweler::Tasks.new do |gemspec|
|
43
21
|
gemspec.name = "fuzzy-string-match"
|
44
22
|
gemspec.summary = "fuzzy string matching library"
|
45
23
|
gemspec.description = "calculate Jaro Winkler distance."
|
46
24
|
gemspec.email = "kiyoka@sumibi.org"
|
25
|
+
gemspec.license = 'Apache-2.0'
|
47
26
|
gemspec.homepage = "http://github.com/kiyoka/fuzzy-string-match"
|
48
27
|
gemspec.authors = ["Kiyoka Nishiyama"]
|
49
28
|
gemspec.files = FileList['.gemtest',
|
@@ -71,12 +50,18 @@ end
|
|
71
50
|
task :default => [:test] do
|
72
51
|
end
|
73
52
|
|
74
|
-
task :test do
|
53
|
+
task :test => [:fallback_test] do
|
75
54
|
sh "ruby -I ./lib `which rspec` -b ./test/basic_native_spec.rb" if File.exist?( "./test/basic_native_spec.rb" )
|
76
55
|
sh "ruby -I ./lib `which rspec` -b ./test/basic_pure_spec.rb"
|
77
56
|
sh "ruby -I ./lib `which rspec` -b ./test/mutibyte_spec.rb"
|
78
57
|
end
|
79
58
|
|
59
|
+
task :fallback_test => [:clean_dot_rubyinline] do
|
60
|
+
sh "/bin/mkdir -p /tmp/fake_gcc/"
|
61
|
+
sh "/bin/cp ./fake_gcc /tmp/fake_gcc/gcc"
|
62
|
+
sh "export PATH=\"/tmp/fake_gcc:${PATH}\" ; rspec -I ./lib ./test/fallback_pure_spec.rb"
|
63
|
+
end
|
64
|
+
|
80
65
|
task :test_dev do
|
81
66
|
sh "ruby -I ./lib `which rspec` -b ./test/verify_with_amatch_spec.rb"
|
82
67
|
end
|
@@ -85,3 +70,6 @@ task :bench do
|
|
85
70
|
sh "ruby ./benchmark/vs_amatch.rb"
|
86
71
|
end
|
87
72
|
|
73
|
+
task :clean_dot_rubyinline do
|
74
|
+
sh "/bin/rm -rf ~/.ruby_inline"
|
75
|
+
end
|
data/VERSION.yml
CHANGED
data/lib/fuzzystringmatch.rb
CHANGED
@@ -16,14 +16,6 @@
|
|
16
16
|
# limitations under the License.
|
17
17
|
#
|
18
18
|
require 'fuzzystringmatch/pure'
|
19
|
-
begin
|
20
|
-
if RUBY_PLATFORM == "java"
|
21
|
-
STDERR.puts "fuzzy-string-match Warning: native version is disabled on java platform. falled back to pure ruby version..."
|
22
|
-
else
|
23
|
-
require 'fuzzystringmatch/inline'
|
24
|
-
end
|
25
|
-
rescue LoadError
|
26
|
-
end
|
27
19
|
|
28
20
|
module FuzzyStringMatch
|
29
21
|
class JaroWinkler
|
@@ -31,18 +23,27 @@ module FuzzyStringMatch
|
|
31
23
|
case type
|
32
24
|
when :pure
|
33
25
|
FuzzyStringMatch::JaroWinklerPure.new
|
26
|
+
|
34
27
|
when :native
|
35
|
-
|
36
|
-
|
37
|
-
rescue NameError
|
38
|
-
STDERR.puts "fuzzy-string-match Warning: native version is disabled. falled back to pure ruby version..."
|
28
|
+
if RUBY_PLATFORM == "java"
|
29
|
+
STDERR.puts "fuzzy-string-match Warning: native version is disabled on java platform. falled back to pure ruby version..."
|
39
30
|
FuzzyStringMatch::JaroWinklerPure.new
|
31
|
+
else
|
32
|
+
begin
|
33
|
+
require 'fuzzystringmatch/inline'
|
34
|
+
begin
|
35
|
+
FuzzyStringMatch::JaroWinklerInline.new
|
36
|
+
rescue NameError
|
37
|
+
STDERR.puts "fuzzy-string-match Warning: native version is disabled. falled back to pure ruby version..."
|
38
|
+
FuzzyStringMatch::JaroWinklerPure.new
|
39
|
+
end
|
40
|
+
rescue CompilationError
|
41
|
+
STDERR.puts "fuzzy-string-match Warning: fallback into pure version, because compile failed."
|
42
|
+
FuzzyStringMatch::JaroWinklerPure.new
|
43
|
+
end
|
40
44
|
end
|
41
45
|
end
|
42
|
-
|
43
|
-
def create( type = :pure ) # this is obsolute
|
44
|
-
STDERR.puts "fuzzy-string-match Warning: FuzzyStringMatch.new.create() is obsolute, please use FuzzyStringMatch.create() ..."
|
45
|
-
FuzzyStringMatch::JaroWinkler.create( type )
|
46
|
+
|
46
47
|
end
|
47
48
|
end
|
48
49
|
end
|
data/test/basic_native_spec.rb
CHANGED
@@ -51,12 +51,8 @@ describe FuzzyStringMatch, "when some string distances (Native) are" do
|
|
51
51
|
end
|
52
52
|
end
|
53
53
|
|
54
|
-
describe FuzzyStringMatch, "when older factory method was called, (
|
55
|
-
before do
|
56
|
-
@jarow = FuzzyStringMatch::JaroWinkler.new.create
|
57
|
-
end
|
54
|
+
describe FuzzyStringMatch, "when older factory method was called, (Native) are" do
|
58
55
|
it "should" do
|
59
|
-
|
60
|
-
@jarow.pure?( ).should be_true
|
56
|
+
lambda { FuzzyStringMatch::JaroWinkler.new.create( :native ) }.should raise_error(NoMethodError)
|
61
57
|
end
|
62
58
|
end
|
data/test/basic_pure_spec.rb
CHANGED
@@ -51,12 +51,9 @@ describe FuzzyStringMatch, "when some string distances (Pure) are" do
|
|
51
51
|
end
|
52
52
|
end
|
53
53
|
|
54
|
-
describe FuzzyStringMatch, "when older factory method was called, (
|
55
|
-
before do
|
56
|
-
@jarow = FuzzyStringMatch::JaroWinkler.new.create
|
57
|
-
end
|
54
|
+
describe FuzzyStringMatch, "when older factory method was called, (Native) are" do
|
58
55
|
it "should" do
|
59
|
-
|
60
|
-
@jarow.pure?( ).should be_true
|
56
|
+
lambda { FuzzyStringMatch::JaroWinkler.new.create( :pure ) }.should raise_error(NoMethodError)
|
61
57
|
end
|
62
58
|
end
|
59
|
+
|
metadata
CHANGED
@@ -1,69 +1,69 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fuzzy-string-match
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kiyoka Nishiyama
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-12-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '0'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: RubyInline
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: 3.8.6
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: 3.8.6
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rspec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: RubyInline
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: 3.8.6
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: 3.8.6
|
69
69
|
description: calculate Jaro Winkler distance.
|
@@ -74,7 +74,7 @@ extra_rdoc_files:
|
|
74
74
|
- LICENSE.txt
|
75
75
|
- README.md
|
76
76
|
files:
|
77
|
-
- .gemtest
|
77
|
+
- ".gemtest"
|
78
78
|
- LICENSE.txt
|
79
79
|
- README.md
|
80
80
|
- Rakefile
|
@@ -88,7 +88,8 @@ files:
|
|
88
88
|
- test/basic_pure_spec.rb
|
89
89
|
- test/mutibyte_spec.rb
|
90
90
|
homepage: http://github.com/kiyoka/fuzzy-string-match
|
91
|
-
licenses:
|
91
|
+
licenses:
|
92
|
+
- Apache-2.0
|
92
93
|
metadata: {}
|
93
94
|
post_install_message:
|
94
95
|
rdoc_options: []
|
@@ -96,17 +97,17 @@ require_paths:
|
|
96
97
|
- lib
|
97
98
|
required_ruby_version: !ruby/object:Gem::Requirement
|
98
99
|
requirements:
|
99
|
-
- -
|
100
|
+
- - ">="
|
100
101
|
- !ruby/object:Gem::Version
|
101
102
|
version: 1.9.1
|
102
103
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
103
104
|
requirements:
|
104
|
-
- -
|
105
|
+
- - ">="
|
105
106
|
- !ruby/object:Gem::Version
|
106
107
|
version: '0'
|
107
108
|
requirements: []
|
108
109
|
rubyforge_project:
|
109
|
-
rubygems_version: 2.0.
|
110
|
+
rubygems_version: 2.0.14
|
110
111
|
signing_key:
|
111
112
|
specification_version: 4
|
112
113
|
summary: fuzzy string matching library
|