spell 0.1.0 → 1.0.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 +4 -4
- data/.rspec +2 -0
- data/README.md +1 -1
- data/lib/spell/spell.rb +15 -15
- data/lib/spell/version.rb +1 -1
- data/spell.gemspec +1 -0
- metadata +26 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3c75c56dd802edc8ce8503b0f2dea60fa7772c6a
|
4
|
+
data.tar.gz: a990eb804ea93c0a70286a6591e4216de557f6cb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3066bc4978257194be0af3b667dbd8a53ab12f18d4ce8a8909723798b72e7291a4f2d8962fdcbac054605618899ed2cef5fce22d212fb2580fbfbcbb1a98adac
|
7
|
+
data.tar.gz: 2a12cdb8674385cbf0af9717b96f4dffad4d22cad22abb504a58f00eff42353e8b3c9c971988b5bcf8bdcb9375acd593aef74b2bfc95924e3ddbd5aa4d3be337
|
data/.rspec
ADDED
data/README.md
CHANGED
@@ -42,7 +42,7 @@ spell.best_match('alphabet') #=> "alpha"
|
|
42
42
|
|
43
43
|
Or, if you'd rather specify a custom word weight, you can specify it like this:
|
44
44
|
```ruby
|
45
|
-
word_list = { "alpha" =>
|
45
|
+
word_list = { "alpha" => 2, "beta" => 20 }
|
46
46
|
spell = Spell::Spell.new(word_list, 0.5)
|
47
47
|
spell.best_match('alphabet') #=> "beta"
|
48
48
|
```
|
data/lib/spell/spell.rb
CHANGED
@@ -7,17 +7,13 @@ module Spell
|
|
7
7
|
@word_list = args[0]
|
8
8
|
@alpha = args[1] || 0.3
|
9
9
|
elsif args[0].is_a? Array
|
10
|
+
fail "Word usage weights do not make sense with an Array" if args[1]
|
10
11
|
@word_list = args[0]
|
11
12
|
else
|
12
13
|
fail "First argument must be an Array or Hash"
|
13
14
|
end
|
14
15
|
end
|
15
16
|
|
16
|
-
# Return a value from 0.0-1.0 of how similar these two words are
|
17
|
-
def compare(word1, word2)
|
18
|
-
bigram_compare(bigramate(word1), bigramate(word2))
|
19
|
-
end
|
20
|
-
|
21
17
|
# Returns the closest matching word in the dictionary
|
22
18
|
def best_match(given_word)
|
23
19
|
words = (@word_list.is_a? Array) ? @word_list : @word_list.keys
|
@@ -33,6 +29,20 @@ module Spell
|
|
33
29
|
word_hash.max_by { |key, value| value }.first
|
34
30
|
end
|
35
31
|
|
32
|
+
# Returns a boolean for whether or not 'word' is in the dictionary
|
33
|
+
def spelled_correctly?(word)
|
34
|
+
if @word_list.is_a? Hash
|
35
|
+
@word_list.keys.include?(word)
|
36
|
+
else
|
37
|
+
@word_list.include?(word)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
# Return a value from 0.0-1.0 of how similar these two words are
|
42
|
+
def compare(word1, word2)
|
43
|
+
bigram_compare(bigramate(word1), bigramate(word2))
|
44
|
+
end
|
45
|
+
|
36
46
|
private
|
37
47
|
|
38
48
|
# Returns the number of matching bigrams between the two sets of bigrams
|
@@ -86,15 +96,5 @@ module Spell
|
|
86
96
|
|
87
97
|
weighted_array.to_h
|
88
98
|
end
|
89
|
-
|
90
|
-
# Returns a boolean for whether or not 'word' is in the dictionary
|
91
|
-
def spelled_good?(word)
|
92
|
-
@word_list.keys.include?(word)
|
93
|
-
end
|
94
|
-
|
95
|
-
# Increment count on each utterance
|
96
|
-
def add_count(word)
|
97
|
-
@word_list[word] += 1
|
98
|
-
end
|
99
99
|
end
|
100
100
|
end
|
data/lib/spell/version.rb
CHANGED
data/spell.gemspec
CHANGED
metadata
CHANGED
@@ -1,43 +1,57 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spell
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jonathan Arnett
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-08-
|
11
|
+
date: 2015-08-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '1.10'
|
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: '1.10'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - ~>
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '10.0'
|
34
34
|
type: :development
|
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: '10.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rspec
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
41
55
|
description: 'Spell checker written in pure Ruby, implementing a simple bigram comparison
|
42
56
|
algorithm. Spell has no external dependencies (including aspell or ispell). '
|
43
57
|
email:
|
@@ -46,8 +60,9 @@ executables: []
|
|
46
60
|
extensions: []
|
47
61
|
extra_rdoc_files: []
|
48
62
|
files:
|
49
|
-
- .gitignore
|
50
|
-
- .
|
63
|
+
- ".gitignore"
|
64
|
+
- ".rspec"
|
65
|
+
- ".travis.yml"
|
51
66
|
- CODE_OF_CONDUCT.md
|
52
67
|
- Gemfile
|
53
68
|
- LICENSE.txt
|
@@ -69,17 +84,17 @@ require_paths:
|
|
69
84
|
- lib
|
70
85
|
required_ruby_version: !ruby/object:Gem::Requirement
|
71
86
|
requirements:
|
72
|
-
- -
|
87
|
+
- - ">="
|
73
88
|
- !ruby/object:Gem::Version
|
74
89
|
version: '0'
|
75
90
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
76
91
|
requirements:
|
77
|
-
- -
|
92
|
+
- - ">="
|
78
93
|
- !ruby/object:Gem::Version
|
79
94
|
version: '0'
|
80
95
|
requirements: []
|
81
96
|
rubyforge_project:
|
82
|
-
rubygems_version: 2.4.
|
97
|
+
rubygems_version: 2.4.3
|
83
98
|
signing_key:
|
84
99
|
specification_version: 4
|
85
100
|
summary: A customizable spell checker, written in pure Ruby
|