english_spellchecker 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: c6064eb8930e7a5b0fbf18682e6294fea44bda02
4
- data.tar.gz: 1608aedae5716002833d460c224f708212fba453
2
+ SHA256:
3
+ metadata.gz: f850069ac6477d9ce156785bf6f4db9893e91f40f637959b90a23bf87285ba78
4
+ data.tar.gz: 640f4043b0fb8726c428b57b2e69ccdc5c5bb427055310804fc96b3eddd9ded6
5
5
  SHA512:
6
- metadata.gz: 72470d31c1462747c2be180e6f91463106d6797f539bf53a05e1257b221f0c71dd8bb27b873c0fb5c5701d17fcd9852877d3a6988182b80c1b34fbda98f5ca87
7
- data.tar.gz: 6dbfb08973cae7b6e480231251ab45bf0b694daffb376afb683ffb08f0b0903e7cb1dd77d19ae6ba778c24bea7f1bdb787d05981f2e823a9487040fbe89f87ff
6
+ metadata.gz: b7e1280603394b0812ecd41edc6fed45374b0d934803f4be7b3bcb6b933dd78b246483195a4d1775f1cc2544394a824b920c780541c401fcbe0adde499446324
7
+ data.tar.gz: 215e665255455f2978328bcfdcf9676a6c1d023a7714142f8a6008e1d9ed9f66fd176d8876da11c113de54fb43a2c026aaece8458d3a22419782e36ee6b9647a
checksums.yaml.gz.sig CHANGED
Binary file
@@ -8,25 +8,86 @@ require 'did_you_mean'
8
8
 
9
9
 
10
10
  class EnglishSpellcheck
11
+
12
+ @words = WordsDotDat.words
11
13
 
12
14
  def initialize()
13
- @spelling = DidYouMean::SpellChecker.new(dictionary: WordsDotDat.words)
15
+ @words = WordsDotDat.words
16
+ @spelling = DidYouMean::SpellChecker.new(dictionary: @words)
14
17
  end
15
18
 
16
- def self.spell(w)
17
-
18
- r = DidYouMean::SpellChecker.new(dictionary: WordsDotDat.words).correct(w)
19
- r.any? ? r.first : nil
19
+ def self.spell(raww, verbose: true)
20
+
21
+ w = raww.downcase
22
+
23
+ return raww if @words.include? w
24
+ r = DidYouMean::SpellChecker.new(dictionary: @words).correct(w)
25
+
26
+ if r.any? then
27
+
28
+ found = r.first
29
+ puts 'found: ' + found.inspect if verbose
30
+
31
+ # return the word found along with the ending of the keyword which
32
+ # wasn't found.
33
+ #
34
+ if raww.length > found.length then
35
+ if found == w[0..found.length-1] then
36
+ return [found, raww[found.length..-1]]
37
+ else
38
+ return found
39
+ end
40
+ else
41
+ if w == found[0..raww.length-1] then
42
+ return [raww, found[raww.length..-1]]
43
+ else
44
+ return found
45
+ end
46
+ end
47
+
48
+ else
49
+ nil
50
+ end
20
51
 
21
52
  end
22
53
 
23
54
  def inspect()
24
- "<EnglishSpellcheck::#{self.object_id} @spelling=DidYouMean::SpellChecker>"
55
+ "#<EnglishSpellcheck:#{self.object_id} @spelling=DidYouMean::SpellChecker>"
25
56
  end
26
57
 
27
- def spell(w)
58
+ def spell(raww, verbose: true)
59
+
60
+ w = raww.downcase
61
+
62
+ return raww if @words.include? w
28
63
  r = @spelling.correct w
29
- r.any? ? r.first : nil
64
+
65
+ if r.any? then
66
+
67
+ found = r.first
68
+ puts 'found: ' + found.inspect if verbose
69
+
70
+ # return the word found along with the ending of the keyword which
71
+ # wasn't found.
72
+ #
73
+ if raww.length > found.length then
74
+ if found == w[0..found.length-1] then
75
+ return [found, raww[found.length..-1]]
76
+ else
77
+ return found
78
+ end
79
+ else
80
+ if w == found[0..raww.length-1] then
81
+ return [raww, found[raww.length..-1]]
82
+ else
83
+ return found
84
+ end
85
+ end
86
+
87
+ else
88
+ nil
89
+ end
90
+
30
91
  end
31
92
 
32
93
  alias spelling spell
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: english_spellchecker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -10,28 +10,33 @@ bindir: bin
10
10
  cert_chain:
11
11
  - |
12
12
  -----BEGIN CERTIFICATE-----
13
- MIIDljCCAn6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBIMRIwEAYDVQQDDAlnZW1t
13
+ MIIEljCCAv6gAwIBAgIBATANBgkqhkiG9w0BAQsFADBIMRIwEAYDVQQDDAlnZW1t
14
14
  YXN0ZXIxHjAcBgoJkiaJk/IsZAEZFg5qYW1lc3JvYmVydHNvbjESMBAGCgmSJomT
15
- 8ixkARkWAmV1MB4XDTE3MTEwNTEzNTYyOVoXDTE4MTEwNTEzNTYyOVowSDESMBAG
15
+ 8ixkARkWAmV1MB4XDTIyMTAzMDE5MjkwNloXDTIzMTAzMDE5MjkwNlowSDESMBAG
16
16
  A1UEAwwJZ2VtbWFzdGVyMR4wHAYKCZImiZPyLGQBGRYOamFtZXNyb2JlcnRzb24x
17
- EjAQBgoJkiaJk/IsZAEZFgJldTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
18
- ggEBAMqRGLMP9ulcSKVcqMDz6V04T/Jw2gDC8xw+WoWZvDalLG0YobZce2MGD5p0
19
- TKPK0X2DCYHYRoNUSLxtAAfjhjtaw2bGdps7rQ5kAfkAk3A5dfO4NM+Wy1nzlpiq
20
- P64DWczsVYRacGGgBZSwjVRkpEmARllSbyFCCt6UkKn4RrTHlXkt9iVfxrq08Vv3
21
- fZDKD2OXxhaZ8kdskhtofY6/HD/DsxDi1bTom5lD+vzuSB5RxeJa0PdoGYMFKKZK
22
- qDWRD9TRmry3w/LpISlsCsjxiPWv3FQ00n6OCcI3xIdbuxSjhSzVNQi8u+kitrpf
23
- vYU8fW+O2xad0rD6bFYrc1o2Eh8CAwEAAaOBijCBhzAJBgNVHRMEAjAAMAsGA1Ud
24
- DwQEAwIEsDAdBgNVHQ4EFgQUcy7xxuv+5Y4uxJJJl4vBbTqyAvwwJgYDVR0RBB8w
25
- HYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1h
26
- c3RlckBqYW1lc3JvYmVydHNvbi5ldTANBgkqhkiG9w0BAQUFAAOCAQEAq3LD6GE1
27
- iaPEcLHCeI7MOMFfQkHKYmL3vBgbopITy+0IVA2p5/c17/meBYPso/McAhSWmMvk
28
- v2rfqPFf76+wykLlQGlX8MeX3wsyvHW+OkxePtNdywPwmZbtEVO5F2WgC3Pn0g2o
29
- 4uucymxMR1cRoCU5jI4FrOwkMSKA0nW+PsW8XcHk9Ug0UPZjQOhbO1zTqdq6QhBk
30
- IdWyGQRTpJ7qmKN4PuIgNGlOU0b/EuN2eGGfTJpz1X7tzFRQlxtGOkR8MVP3z/fR
31
- hI4uK3ROqPGwICHo1ds+N1Qg8uB0v8blblwjJmUftIRr/vxOvRIhbNAa/CrRGLy9
32
- zCdnHSVuNTAd8A==
17
+ EjAQBgoJkiaJk/IsZAEZFgJldTCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoC
18
+ ggGBAIpqargIeFT5uBG37Ger1rHanRrkmn9wipLF4FqFL9822NsRF6sTE2NNXbWH
19
+ 0U2xbwfEE0qB2BqgGi+g3GTaBC63LWK6CfkdlkNcrKmaCLKrNDURQEMBmUEbcnOY
20
+ 9AQYI+w2OD4MTFvARAlreTxjv8EH61w1g9ksU3JqIvZzgIklI3JEOK7UaVkJS84u
21
+ GiacB7uaY4ro9D1wqiV9OMQetrJwgAATizSgyWl9OuCIVQ5fynUmBe495VGN3Dc/
22
+ q4HTde+OEIigmpEs+PWFJNbuBAIyKiKn1RpU1idX02MAgAh17U1Q2xrXirVD4cWp
23
+ 1HzXeDBVWXZv0+/W63MoV02wxcHFKGNKl07EYDK3A8x5F5ztnYkglFfm1RcI/1jM
24
+ MJBh3GpgjdxaRqF4f9n2v9FEOSgzWdCdbxQr8AabYznTWD0cFK52XIvLMMNTJWxV
25
+ X4UfK9fXR+gdeDlmksk75rLEOiAj4YbV7c1wxkVQjacE8WXhDSt+HnZTfe/Be4Jr
26
+ +Lcp6QIDAQABo4GKMIGHMAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQW
27
+ BBRq4gCsbP0F0XoZ18rJ3VmRb2bTfzAmBgNVHREEHzAdgRtnZW1tYXN0ZXJAamFt
28
+ ZXNyb2JlcnRzb24uZXUwJgYDVR0SBB8wHYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0
29
+ c29uLmV1MA0GCSqGSIb3DQEBCwUAA4IBgQBomdrP7nPgbIjAdPV4MHTBhHcVeJkM
30
+ Ak/OWBMKrtXd5J2QDWq01HIIqlLQ6aGWgUGezSWdjVX6U57H5cEj1gqa9GgtRbFF
31
+ AFhqfMOvlZ2t/msfniJNgeMJvukNlSckeizaZntNsJUuxKHV4RraDXsjjWUBEm4K
32
+ yS5JTPrvgBCHlBTCcQKezSigl4O0G7v6Vbfwl2zHgm7xGYxBK/ZxoIWMRztHh8so
33
+ X6zHZCsZGuH/BoP83Lw1XMt/1qRqqw5XkU2ly9ImpvScCoM+W70yLk9D89eFQ2lj
34
+ nQDvI/PsQ8i0KJR50C5zKrJeZs20gPem5R6ABJWgSFFZw3SAmnXQIj+Id210ASjC
35
+ kXJB1kRqJ+/ZsTIbvqJNOO6FbHl2q4hcdLO6fgW+cXpUf17efgIY1CnDj0auhLsW
36
+ i/2txSflqYUUrcpt7Nw/jBhIhPD17gtkt93TyMkMATK8LOOiRBzUeSoLmcUZV/cd
37
+ Os7I/4C4AaEaqtRAvendPVG41n9/F/5Hp2c=
33
38
  -----END CERTIFICATE-----
34
- date: 2017-11-05 00:00:00.000000000 Z
39
+ date: 2022-10-30 00:00:00.000000000 Z
35
40
  dependencies:
36
41
  - !ruby/object:Gem::Dependency
37
42
  name: wordsdotdat
@@ -39,22 +44,22 @@ dependencies:
39
44
  requirements:
40
45
  - - "~>"
41
46
  - !ruby/object:Gem::Version
42
- version: '0.1'
47
+ version: '0.2'
43
48
  - - ">="
44
49
  - !ruby/object:Gem::Version
45
- version: 0.1.1
50
+ version: 0.2.0
46
51
  type: :runtime
47
52
  prerelease: false
48
53
  version_requirements: !ruby/object:Gem::Requirement
49
54
  requirements:
50
55
  - - "~>"
51
56
  - !ruby/object:Gem::Version
52
- version: '0.1'
57
+ version: '0.2'
53
58
  - - ">="
54
59
  - !ruby/object:Gem::Version
55
- version: 0.1.1
60
+ version: 0.2.0
56
61
  description:
57
- email: james@jamesrobertson.eu
62
+ email: digital.robertson@gmail.com
58
63
  executables: []
59
64
  extensions: []
60
65
  extra_rdoc_files: []
@@ -79,8 +84,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
79
84
  - !ruby/object:Gem::Version
80
85
  version: '0'
81
86
  requirements: []
82
- rubyforge_project:
83
- rubygems_version: 2.6.13
87
+ rubygems_version: 3.3.7
84
88
  signing_key:
85
89
  specification_version: 4
86
90
  summary: A basic English dictionary spellchecker which returns the correctly spelled
metadata.gz.sig CHANGED
Binary file