canivete 0.0.4 → 0.0.5
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.
- data/Gemfile +8 -0
- data/Rakefile +3 -2
- data/lib/canivete.rb +1 -0
- data/lib/canivete/similarity.rb +21 -0
- metadata +37 -8
data/Gemfile
ADDED
data/Rakefile
CHANGED
|
@@ -5,8 +5,8 @@ require 'rake/gempackagetask'
|
|
|
5
5
|
require 'spec/rake/spectask'
|
|
6
6
|
|
|
7
7
|
GEM = "canivete"
|
|
8
|
-
GEM_VERSION = "0.0.
|
|
9
|
-
SUMMARY = "ruby
|
|
8
|
+
GEM_VERSION = "0.0.5"
|
|
9
|
+
SUMMARY = "ruby not-so swiss knife"
|
|
10
10
|
AUTHOR = "Douglas Campos"
|
|
11
11
|
EMAIL = "douglas@theros.info"
|
|
12
12
|
HOMEPAGE = "http://qmx.me"
|
|
@@ -22,6 +22,7 @@ spec = Gem::Specification.new do |s|
|
|
|
22
22
|
s.author = AUTHOR
|
|
23
23
|
s.email = EMAIL
|
|
24
24
|
s.homepage = HOMEPAGE
|
|
25
|
+
s.add_dependency "text", "0.2.0"
|
|
25
26
|
|
|
26
27
|
end
|
|
27
28
|
|
data/lib/canivete.rb
CHANGED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
require 'text'
|
|
2
|
+
module Canivete
|
|
3
|
+
module Similarity
|
|
4
|
+
# return the similarity rate between two strings, ranging from 0.0 to 1.0
|
|
5
|
+
def similarity_rate(target_string, options = {:ignore_case => true})
|
|
6
|
+
src = self.dup
|
|
7
|
+
tgt = target_string.dup
|
|
8
|
+
|
|
9
|
+
if options[:ignore_case]
|
|
10
|
+
src.downcase!
|
|
11
|
+
tgt.downcase!
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
return 0 if (src.length == 0 && tgt.length != 0)
|
|
15
|
+
return 1 if (src.length == 0 && tgt.length == 0)
|
|
16
|
+
distance = Text::Levenshtein.distance(src, tgt)
|
|
17
|
+
rate = 1 - (distance/src.length.to_f) unless src.length == 0
|
|
18
|
+
rate < 0.0 ? 0.0 : rate
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
metadata
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: canivete
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
|
|
4
|
+
hash: 21
|
|
5
|
+
prerelease: false
|
|
6
|
+
segments:
|
|
7
|
+
- 0
|
|
8
|
+
- 0
|
|
9
|
+
- 5
|
|
10
|
+
version: 0.0.5
|
|
5
11
|
platform: ruby
|
|
6
12
|
authors:
|
|
7
13
|
- Douglas Campos
|
|
@@ -9,10 +15,25 @@ autorequire:
|
|
|
9
15
|
bindir: bin
|
|
10
16
|
cert_chain: []
|
|
11
17
|
|
|
12
|
-
date: 2010-
|
|
18
|
+
date: 2010-08-13 00:00:00 -03:00
|
|
13
19
|
default_executable:
|
|
14
|
-
dependencies:
|
|
15
|
-
|
|
20
|
+
dependencies:
|
|
21
|
+
- !ruby/object:Gem::Dependency
|
|
22
|
+
name: text
|
|
23
|
+
prerelease: false
|
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
|
25
|
+
none: false
|
|
26
|
+
requirements:
|
|
27
|
+
- - "="
|
|
28
|
+
- !ruby/object:Gem::Version
|
|
29
|
+
hash: 23
|
|
30
|
+
segments:
|
|
31
|
+
- 0
|
|
32
|
+
- 2
|
|
33
|
+
- 0
|
|
34
|
+
version: 0.2.0
|
|
35
|
+
type: :runtime
|
|
36
|
+
version_requirements: *id001
|
|
16
37
|
description:
|
|
17
38
|
email: douglas@theros.info
|
|
18
39
|
executables: []
|
|
@@ -23,7 +44,9 @@ extra_rdoc_files: []
|
|
|
23
44
|
|
|
24
45
|
files:
|
|
25
46
|
- lib/canivete/deprecate.rb
|
|
47
|
+
- lib/canivete/similarity.rb
|
|
26
48
|
- lib/canivete.rb
|
|
49
|
+
- Gemfile
|
|
27
50
|
- README.markdown
|
|
28
51
|
- Rakefile
|
|
29
52
|
has_rdoc: true
|
|
@@ -36,23 +59,29 @@ rdoc_options: []
|
|
|
36
59
|
require_paths:
|
|
37
60
|
- lib
|
|
38
61
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
62
|
+
none: false
|
|
39
63
|
requirements:
|
|
40
64
|
- - ">="
|
|
41
65
|
- !ruby/object:Gem::Version
|
|
66
|
+
hash: 3
|
|
67
|
+
segments:
|
|
68
|
+
- 0
|
|
42
69
|
version: "0"
|
|
43
|
-
version:
|
|
44
70
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
71
|
+
none: false
|
|
45
72
|
requirements:
|
|
46
73
|
- - ">="
|
|
47
74
|
- !ruby/object:Gem::Version
|
|
75
|
+
hash: 3
|
|
76
|
+
segments:
|
|
77
|
+
- 0
|
|
48
78
|
version: "0"
|
|
49
|
-
version:
|
|
50
79
|
requirements: []
|
|
51
80
|
|
|
52
81
|
rubyforge_project:
|
|
53
|
-
rubygems_version: 1.3.
|
|
82
|
+
rubygems_version: 1.3.7
|
|
54
83
|
signing_key:
|
|
55
84
|
specification_version: 3
|
|
56
|
-
summary: ruby
|
|
85
|
+
summary: ruby not-so swiss knife
|
|
57
86
|
test_files: []
|
|
58
87
|
|