spell_checker 0.0.1

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.
@@ -0,0 +1,27 @@
1
+ require 'stemmer'
2
+
3
+ class SpellChecker
4
+ def initialize(params={})
5
+
6
+ if params[:type].nil?
7
+ @dictionary = TextDictionary.new(params)
8
+ else
9
+ if params[:type] == :mysql
10
+ @dictionary = MysqlDictionary.new(params)
11
+ elsif params[:type] == :text
12
+ @dictionary = TextDictionary.new(params)
13
+ else
14
+ raise "invalid dictionary type #{params[:type]}"
15
+ end
16
+ end
17
+
18
+ end
19
+
20
+ def check_word(word)
21
+ @dictionary.word_exists?(word.stem)
22
+ end
23
+
24
+ def stem_dictionary
25
+ @dictionary.filter_stemmed_words
26
+ end
27
+ end
@@ -0,0 +1,3 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spell_checker/spell_checker')
2
+ require File.expand_path(File.dirname(__FILE__) + '/spell_checker/dictionary')
3
+
data/spec/spec.opts ADDED
@@ -0,0 +1,2 @@
1
+ --colour
2
+ --format specdoc
@@ -0,0 +1 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../lib/spell_checker')
@@ -0,0 +1,33 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
+
3
+ describe SpellChecker do
4
+
5
+ it "should create a SpellChecker object" do
6
+
7
+ SpellChecker.new.should be_an_instance_of SpellChecker
8
+
9
+ end
10
+
11
+ it "should return true for valid word" do
12
+ spell = SpellChecker.new
13
+ spell.check_word("word").should be_true
14
+ end
15
+
16
+ it "should return false for an invalid word" do
17
+ spell = SpellChecker.new
18
+ spell.check_word("wordd").should be_false
19
+ end
20
+
21
+ describe "using stemming" do
22
+
23
+ it "should return true for plural" do
24
+ spell = SpellChecker.new
25
+ spell.check_word("words").should be_true
26
+ spell.check_word("fishes").should be_true
27
+ spell.check_word("fishing").should be_true
28
+ spell.check_word("fished").should be_true
29
+ spell.check_word("fisher").should be_true
30
+ end
31
+ end
32
+
33
+ end
metadata ADDED
@@ -0,0 +1,81 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: spell_checker
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 0
8
+ - 1
9
+ version: 0.0.1
10
+ platform: ruby
11
+ authors:
12
+ - Stewart McKee
13
+ autorequire:
14
+ bindir: bin
15
+ cert_chain: []
16
+
17
+ date: 2010-05-21 00:00:00 +01:00
18
+ default_executable:
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: stemmer
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ segments:
28
+ - 0
29
+ version: "0"
30
+ type: :runtime
31
+ version_requirements: *id001
32
+ description:
33
+ email: stewart.mckee@vamosa.com
34
+ executables: []
35
+
36
+ extensions: []
37
+
38
+ extra_rdoc_files:
39
+ - README
40
+ files:
41
+ - spec/spell_checker/spell_checker_spec.rb
42
+ - spec/spec.opts
43
+ - spec/spec_helper.rb
44
+ - lib/spell_checker/custom.txt
45
+ - lib/spell_checker/dictionary.rb
46
+ - lib/spell_checker/dictionary.txt
47
+ - lib/spell_checker/spell_checker.rb
48
+ - lib/spell_checker.rb
49
+ - README
50
+ has_rdoc: false
51
+ homepage: http://www.vamosa.com
52
+ licenses: []
53
+
54
+ post_install_message:
55
+ rdoc_options: []
56
+
57
+ require_paths:
58
+ - lib
59
+ required_ruby_version: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ segments:
64
+ - 0
65
+ version: "0"
66
+ required_rubygems_version: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - ">="
69
+ - !ruby/object:Gem::Version
70
+ segments:
71
+ - 0
72
+ version: "0"
73
+ requirements: []
74
+
75
+ rubyforge_project:
76
+ rubygems_version: 1.3.6
77
+ signing_key:
78
+ specification_version: 3
79
+ summary: Word spell checker
80
+ test_files: []
81
+