english_spellchecker 0.1.0 → 0.2.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 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