did_you_mean 1.3.1 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +48 -0
  3. data/CHANGELOG.md +75 -75
  4. data/Gemfile +2 -1
  5. data/README.md +2 -32
  6. data/Rakefile +4 -5
  7. data/appveyor.yml +25 -0
  8. data/did_you_mean.gemspec +6 -4
  9. data/documentation/CHANGELOG.md.erb +8 -0
  10. data/documentation/changelog_generator.rb +34 -0
  11. data/documentation/human_typo_api.md +20 -0
  12. data/documentation/tree_spell_algorithm.md +82 -0
  13. data/documentation/tree_spell_checker_api.md +24 -0
  14. data/lib/did_you_mean.rb +17 -16
  15. data/lib/did_you_mean/experimental.rb +2 -2
  16. data/lib/did_you_mean/experimental/initializer_name_correction.rb +1 -1
  17. data/lib/did_you_mean/experimental/ivar_name_correction.rb +3 -1
  18. data/lib/did_you_mean/levenshtein.rb +1 -1
  19. data/lib/did_you_mean/spell_checker.rb +7 -7
  20. data/lib/did_you_mean/spell_checkers/key_error_checker.rb +8 -2
  21. data/lib/did_you_mean/spell_checkers/method_name_checker.rb +14 -6
  22. data/lib/did_you_mean/spell_checkers/name_error_checkers.rb +2 -2
  23. data/lib/did_you_mean/spell_checkers/name_error_checkers/class_name_checker.rb +5 -5
  24. data/lib/did_you_mean/spell_checkers/name_error_checkers/variable_name_checker.rb +1 -1
  25. data/lib/did_you_mean/tree_spell_checker.rb +137 -0
  26. data/lib/did_you_mean/verbose.rb +2 -2
  27. data/lib/did_you_mean/version.rb +1 -1
  28. data/test/core_ext/test_name_error_extension.rb +48 -0
  29. data/test/edit_distance/{jaro_winkler_test.rb → test_jaro_winkler.rb} +2 -2
  30. data/test/fixtures/mini_dir.yml +15 -0
  31. data/test/fixtures/rspec_dir.yml +112 -0
  32. data/test/helper.rb +29 -0
  33. data/test/spell_checking/{class_name_check_test.rb → test_class_name_check.rb} +12 -10
  34. data/test/spell_checking/{key_name_check_test.rb → test_key_name_check.rb} +18 -8
  35. data/test/spell_checking/{method_name_check_test.rb → test_method_name_check.rb} +17 -15
  36. data/test/spell_checking/{uncorrectable_name_check_test.rb → test_uncorrectable_name_check.rb} +3 -3
  37. data/test/spell_checking/{variable_name_check_test.rb → test_variable_name_check.rb} +18 -16
  38. data/test/{spell_checker_test.rb → test_spell_checker.rb} +2 -2
  39. data/test/test_tree_spell_checker.rb +173 -0
  40. data/test/test_verbose_formatter.rb +21 -0
  41. data/test/tree_spell/change_word.rb +61 -0
  42. data/test/tree_spell/human_typo.rb +89 -0
  43. data/test/tree_spell/test_change_word.rb +38 -0
  44. data/test/tree_spell/test_explore.rb +128 -0
  45. data/test/tree_spell/test_human_typo.rb +24 -0
  46. metadata +47 -58
  47. data/.travis.yml +0 -23
  48. data/test/core_ext/name_error_extension_test.rb +0 -51
  49. data/test/experimental/initializer_name_correction_test.rb +0 -15
  50. data/test/experimental/method_name_checker_test.rb +0 -13
  51. data/test/test_helper.rb +0 -13
  52. data/test/verbose_formatter_test.rb +0 -22
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '088f268582576b904e0d73ca3efc4d0f5b1f1b0502a215215e0d7a93d8e3fd27'
4
- data.tar.gz: fa0582301402135a7ea58e974a9314ec4aeb0f4866d18233bbd8d68e2354d24b
3
+ metadata.gz: '05887ae70010eb1df6b01afa6dc40a0b2831040983baf01a58dedc31a02e179a'
4
+ data.tar.gz: ac63168212e43e8d4161c6a32632081f8c93f1a9c90279b654c7464119a2fefe
5
5
  SHA512:
6
- metadata.gz: 176153acc0119212a3cff509cc5abefed1ae8ae0a99a92131882242b5a4f0dd7a5dcddf3da7aff492c0d00bfa3ea2c155f549c4430b36775ed7d66de0cf1dd9a
7
- data.tar.gz: 24b2ae0af79e1a359e25174412a431d53a122a5cce658e02c1c511ebfeab17708b86e62fb8a9a66b79334d5ea6788ca3972ed2bc30a1b1a2092eb105d5fe6331
6
+ metadata.gz: 2aeccb65107c3f3f1fd8f084c173d914c5dc4e0827826372b22c3d7b9dbd3532c0e6dad043a194a7860ccc10df671b8b3008292d95bce26953f282a4d7c2a061
7
+ data.tar.gz: f7b276aa466cbace238442d1fd3acc9a26a3b2b3623b5cb330b7b1dee15e9916b5a9140d5a74cb585586e30b95d371dbd02a97f7bad81f82b542517299c2df95
@@ -0,0 +1,48 @@
1
+ name: Ruby
2
+
3
+ on:
4
+ pull_request:
5
+ branches:
6
+ - 'master'
7
+ push:
8
+ branches:
9
+ - 'master'
10
+
11
+ jobs:
12
+ build:
13
+ runs-on: ubuntu-latest
14
+ strategy:
15
+ matrix:
16
+ ruby: [ '2.5.4', '2.6.5', 'ruby-head', 'jruby-9.2.9.0', 'jruby-head' ]
17
+ steps:
18
+ - uses: actions/checkout@v1
19
+ - name: Set up RVM
20
+ run: |
21
+ curl -sSL https://get.rvm.io | bash
22
+ - name: Set up Ruby
23
+ run: |
24
+ source $HOME/.rvm/scripts/rvm
25
+ rvm install ${{ matrix.ruby }} --binary
26
+ rvm --default use ${{ matrix.ruby }}
27
+ - name: Build and test with Rake
28
+ run: |
29
+ source $HOME/.rvm/scripts/rvm
30
+ gem i test-unit
31
+ rake
32
+
33
+ benchmark:
34
+ runs-on: ubuntu-latest
35
+ steps:
36
+ - uses: actions/checkout@v1
37
+ - name: Set up Ruby 2.6
38
+ uses: actions/setup-ruby@v1
39
+ with:
40
+ ruby-version: 2.6.x
41
+ - name: Test performance and accuracy
42
+ run: |
43
+ gem install bundler
44
+ bundle install --jobs 4 --retry 2
45
+ gem uni did_you_mean
46
+ bundle exec rake test:accuracy
47
+ bundle exec rake test:explore
48
+ bundle exec rake benchmark:memory
@@ -1,9 +1,9 @@
1
1
  ## v1.4.0 (Next)
2
2
 
3
- - Remove the empty `tmp/` directory to comply with `rpmlint` ([#122](https://github.com/yuki24/did_you_mean/issues/122))
4
- - Fixes a bug where suggestions are not shown on subsequent errors ([#120](https://github.com/yuki24/did_you_mean/issues/120))
3
+ - Remove the empty `tmp/` directory to comply with `rpmlint` ([#122](https://github.com/ruby/did_you_mean/issues/122))
4
+ - Fixes a bug where suggestions are not shown on subsequent errors ([#120](https://github.com/ruby/did_you_mean/issues/120))
5
5
 
6
- ## [v1.3.0](https://github.com/yuki24/did_you_mean/tree/v1.3.0)
6
+ ## [v1.3.0](https://github.com/ruby/did_you_mean/tree/v1.3.0)
7
7
 
8
8
  _<sup>released at 2018-12-18 15:37:10 UTC</sup>_
9
9
 
@@ -16,7 +16,7 @@ _<sup>released at 2018-12-18 15:37:10 UTC</sup>_
16
16
 
17
17
  #### New features
18
18
 
19
- - Suggest reserved words if there are close matches ([<tt>2a082a7</tt>](https://github.com/yuki24/did_you_mean/commit/2a082a71991f5afe2e27ce9538103eac4c428025))
19
+ - Suggest reserved words if there are close matches ([<tt>2a082a7</tt>](https://github.com/ruby/did_you_mean/commit/2a082a71991f5afe2e27ce9538103eac4c428025))
20
20
 
21
21
  ```ruby
22
22
  results = yiedl
@@ -26,30 +26,30 @@ _<sup>released at 2018-12-18 15:37:10 UTC</sup>_
26
26
 
27
27
  #### Bug fixes
28
28
 
29
- - Fixes a bug where name errors can not be dumped ([#108](https://github.com/yuki24/did_you_mean/issues/108), [@jessebs](https://github.com/jessebs))
29
+ - Fixes a bug where name errors can not be dumped ([#108](https://github.com/ruby/did_you_mean/issues/108), [@jessebs](https://github.com/jessebs))
30
30
 
31
- ## [v1.2.2](https://github.com/yuki24/did_you_mean/tree/v1.2.2)
31
+ ## [v1.2.2](https://github.com/ruby/did_you_mean/tree/v1.2.2)
32
32
 
33
33
  _<sup>released at 2019-03-09 23:17:22 UTC</sup>_
34
34
 
35
35
  #### Bug fixes
36
36
 
37
- - Fixes a bug where name errors can not be dumped ([#108](https://github.com/yuki24/did_you_mean/issues/108), [@jessebs](https://github.com/jessebs))
37
+ - Fixes a bug where name errors can not be dumped ([#108](https://github.com/ruby/did_you_mean/issues/108), [@jessebs](https://github.com/jessebs))
38
38
 
39
- ## [v1.2.1](https://github.com/yuki24/did_you_mean/tree/v1.2.1)
39
+ ## [v1.2.1](https://github.com/ruby/did_you_mean/tree/v1.2.1)
40
40
 
41
41
  _<sup>released at 2018-04-03 04:44:47 UTC</sup>_
42
42
 
43
43
  #### Bug Fixes
44
44
 
45
- - Fixed a bug where DYM suggests the same class name in the error message ([#102](https://github.com/yuki24/did_you_mean/issues/102), [@schneems](https://github.com/schneems))
46
- - Fixed a bug where the deprecated `DidYouMean::Formatter` has been removed unexpectedly ([#103](https://github.com/yuki24/did_you_mean/issues/103), [<tt>4b5ba32</tt>](https://github.com/yuki24/did_you_mean/commit/4b5ba3215975df1dd8e9c7eacffcf02abfffa92e))
45
+ - Fixed a bug where DYM suggests the same class name in the error message ([#102](https://github.com/ruby/did_you_mean/issues/102), [@schneems](https://github.com/schneems))
46
+ - Fixed a bug where the deprecated `DidYouMean::Formatter` has been removed unexpectedly ([#103](https://github.com/ruby/did_you_mean/issues/103), [<tt>4b5ba32</tt>](https://github.com/ruby/did_you_mean/commit/4b5ba3215975df1dd8e9c7eacffcf02abfffa92e))
47
47
 
48
48
  #### Other Changes
49
49
 
50
- - Non-production code that has a non-commercial lisence has been removed from gem releases ([#105](https://github.com/yuki24/did_you_mean/issues/105), [@jbotelho2-bb](https://github.com/jbotelho2-bb))
50
+ - Non-production code that has a non-commercial license has been removed from gem releases ([#105](https://github.com/ruby/did_you_mean/issues/105), [@jbotelho2-bb](https://github.com/jbotelho2-bb))
51
51
 
52
- ## [v1.2.0](https://github.com/yuki24/did_you_mean/tree/v1.2.0)
52
+ ## [v1.2.0](https://github.com/ruby/did_you_mean/tree/v1.2.0)
53
53
 
54
54
  _<sup>released at 2018-01-02 20:49:35 UTC</sup>_
55
55
 
@@ -57,20 +57,20 @@ _<sup>released at 2018-01-02 20:49:35 UTC</sup>_
57
57
 
58
58
  #### New features
59
59
 
60
- - The `KeyError` name suggestion feature has been promoted to a stable feature and is available by default ([<tt>acf5945</tt>](https://github.com/yuki24/did_you_mean/commit/acf59450dfb67eefae9b465ccc8029af46ae7dd0),&nbsp;[https://bugs.ruby-lang.org/issues/12063](https://bugs.ruby-lang.org/issues/12063))
61
- - Now suggests `true`, `false` or `nil` if a NameError occurs because of a typo in these names ([#94](https://github.com/yuki24/did_you_mean/pull/94), [@styd](https://github.com/styd))
62
- - New Formatter API: This provides a clean way to customize DidYouMean’s formatter without overriding the default formatter. Please refer to [the built-in verbose formatter](https://github.com/yuki24/did_you_mean/blob/671cdff/lib/did_you_mean/verbose.rb) for how to use it
60
+ - The `KeyError` name suggestion feature has been promoted to a stable feature and is available by default ([<tt>acf5945</tt>](https://github.com/ruby/did_you_mean/commit/acf59450dfb67eefae9b465ccc8029af46ae7dd0),&nbsp;[https://bugs.ruby-lang.org/issues/12063](https://bugs.ruby-lang.org/issues/12063))
61
+ - Now suggests `true`, `false` or `nil` if a NameError occurs because of a typo in these names ([#94](https://github.com/ruby/did_you_mean/pull/94), [@styd](https://github.com/styd))
62
+ - New Formatter API: This provides a clean way to customize DidYouMean’s formatter without overriding the default formatter. Please refer to [the built-in verbose formatter](https://github.com/ruby/did_you_mean/blob/671cdff/lib/did_you_mean/verbose.rb) for how to use it
63
63
 
64
- ## [v1.1.3](https://github.com/yuki24/did_you_mean/tree/v1.1.3)
64
+ ## [v1.1.3](https://github.com/ruby/did_you_mean/tree/v1.1.3)
65
65
 
66
66
  _<sup>released at 2019-03-09 23:16:54 UTC</sup>_
67
67
 
68
68
  #### Bug fixes
69
69
 
70
- - Fixes a bug where name errors can not be dumped ([#108](https://github.com/yuki24/did_you_mean/issues/108), [@jessebs](https://github.com/jessebs))
71
- - Fixed a bug where DYM suggests the same class name in the error message ([#102](https://github.com/yuki24/did_you_mean/issues/102), [@schneems](https://github.com/schneems))
70
+ - Fixes a bug where name errors can not be dumped ([#108](https://github.com/ruby/did_you_mean/issues/108), [@jessebs](https://github.com/jessebs))
71
+ - Fixed a bug where DYM suggests the same class name in the error message ([#102](https://github.com/ruby/did_you_mean/issues/102), [@schneems](https://github.com/schneems))
72
72
 
73
- ## [v1.1.2](https://github.com/yuki24/did_you_mean/tree/v1.1.2)
73
+ ## [v1.1.2](https://github.com/ruby/did_you_mean/tree/v1.1.2)
74
74
 
75
75
  _<sup>released at 2017-09-24 07:28:48 UTC</sup>_
76
76
 
@@ -78,15 +78,15 @@ _<sup>released at 2017-09-24 07:28:48 UTC</sup>_
78
78
 
79
79
  #### Bug Fixes
80
80
 
81
- - Fixed a bug where `did_you_mean` shows duplicate suggestions when the exception is raised multiple times ([#84](https://github.com/yuki24/did_you_mean/pull/84), [<tt>c2e4008</tt>](https://github.com/yuki24/did_you_mean/commit/c2e40083cef604c00ccd10efc6d7a5036ad9eb5b))
81
+ - Fixed a bug where `did_you_mean` shows duplicate suggestions when the exception is raised multiple times ([#84](https://github.com/ruby/did_you_mean/pull/84), [<tt>c2e4008</tt>](https://github.com/ruby/did_you_mean/commit/c2e40083cef604c00ccd10efc6d7a5036ad9eb5b))
82
82
 
83
- ## [v1.1.1](https://github.com/yuki24/did_you_mean/tree/v1.1.1)
83
+ ## [v1.1.1](https://github.com/ruby/did_you_mean/tree/v1.1.1)
84
84
 
85
85
  _<sup>released at 2017-09-24 07:24:02 UTC</sup>_
86
86
 
87
87
  ### This version has been yanked from Rubygems.org and is not available.
88
88
 
89
- ## [v1.1.0](https://github.com/yuki24/did_you_mean/tree/v1.1.0)
89
+ ## [v1.1.0](https://github.com/ruby/did_you_mean/tree/v1.1.0)
90
90
 
91
91
  _<sup>released at 2016-12-19 23:19:06 UTC</sup>_
92
92
 
@@ -94,7 +94,7 @@ The version `1.1.0` only has support for Ruby 2.4.0 and later. Also, all patch r
94
94
 
95
95
  #### New Features
96
96
 
97
- - Suggest a method name on a NameError from the `Struct#[]` or `Struct#[]=` method ([#73](https://github.com/yuki24/did_you_mean/pull/73)):
97
+ - Suggest a method name on a NameError from the `Struct#[]` or `Struct#[]=` method ([#73](https://github.com/ruby/did_you_mean/pull/73)):
98
98
 
99
99
  ```ruby
100
100
  Struct.new(:foo).new[:fooo]
@@ -114,18 +114,18 @@ The version `1.1.0` only has support for Ruby 2.4.0 and later. Also, all patch r
114
114
 
115
115
  #### Bug Fixes
116
116
 
117
- - Fixed a bug where private method names were added to the dictionary when an argument was passed in to a public method. Use the `NoMethodError#private_call?` method instead ([<tt>0a1b761</tt>](https://github.com/yuki24/did_you_mean/commit/0a1b7612252055e583a373b473932f789381ca0f))
117
+ - Fixed a bug where private method names were added to the dictionary when an argument was passed in to a public method. Use the `NoMethodError#private_call?` method instead ([<tt>0a1b761</tt>](https://github.com/ruby/did_you_mean/commit/0a1b7612252055e583a373b473932f789381ca0f))
118
118
 
119
- ## [v1.0.4](https://github.com/yuki24/did_you_mean/tree/v1.0.4)
119
+ ## [v1.0.4](https://github.com/ruby/did_you_mean/tree/v1.0.4)
120
120
 
121
121
  _<sup>released at 2019-03-09 23:16:38 UTC</sup>_
122
122
 
123
123
  #### Bug fixes
124
124
 
125
- - Fixes a bug where name errors can not be dumped ([#108](https://github.com/yuki24/did_you_mean/issues/108), [@jessebs](https://github.com/jessebs))
126
- - Fixed a bug where DYM suggests the same class name in the error message ([#102](https://github.com/yuki24/did_you_mean/issues/102), [@schneems](https://github.com/schneems))
125
+ - Fixes a bug where name errors can not be dumped ([#108](https://github.com/ruby/did_you_mean/issues/108), [@jessebs](https://github.com/jessebs))
126
+ - Fixed a bug where DYM suggests the same class name in the error message ([#102](https://github.com/ruby/did_you_mean/issues/102), [@schneems](https://github.com/schneems))
127
127
 
128
- ## [v1.0.3](https://github.com/yuki24/did_you_mean/tree/v1.0.3)
128
+ ## [v1.0.3](https://github.com/ruby/did_you_mean/tree/v1.0.3)
129
129
 
130
130
  _<sup>released at 2017-09-24 07:22:07 UTC</sup>_
131
131
 
@@ -133,9 +133,9 @@ _<sup>released at 2017-09-24 07:22:07 UTC</sup>_
133
133
 
134
134
  #### Bug Fixes
135
135
 
136
- - Fixed a bug where `did_you_mean` shows duplicate suggestions when the exception is raised multiple times ([#84](https://github.com/yuki24/did_you_mean/pull/84), [<tt>c2e4008</tt>](https://github.com/yuki24/did_you_mean/commit/c2e40083cef604c00ccd10efc6d7a5036ad9eb5b))
136
+ - Fixed a bug where `did_you_mean` shows duplicate suggestions when the exception is raised multiple times ([#84](https://github.com/ruby/did_you_mean/pull/84), [<tt>c2e4008</tt>](https://github.com/ruby/did_you_mean/commit/c2e40083cef604c00ccd10efc6d7a5036ad9eb5b))
137
137
 
138
- ## [v1.0.2](https://github.com/yuki24/did_you_mean/tree/v1.0.2)
138
+ ## [v1.0.2](https://github.com/ruby/did_you_mean/tree/v1.0.2)
139
139
 
140
140
  _<sup>released at 2016-11-20 18:03:07 UTC</sup>_
141
141
 
@@ -153,41 +153,41 @@ _<sup>released at 2016-11-20 18:03:07 UTC</sup>_
153
153
 
154
154
  - Replaced the `DidYouMean::SpellCheckable` module with the `DidYouMean::SpellChecker` class. This is a slower implementation but close to the model explained in [this talk](https://speakerdeck.com/yuki24/saving-people-from-typos), more reusable and possibly makes it easier to expose the class as a public interface.
155
155
 
156
- ## [v1.0.1](https://github.com/yuki24/did_you_mean/tree/v1.0.1)
156
+ ## [v1.0.1](https://github.com/ruby/did_you_mean/tree/v1.0.1)
157
157
 
158
158
  _<sup>released at 2016-05-15 05:17:22 UTC</sup>_
159
159
 
160
160
  #### Bug Fixes
161
161
 
162
- - Fixed a bug where the gem suggests what is actually typed by the user: [<tt>1c52c88</tt>](https://github.com/yuki24/did_you_mean/commit/1c52c887c62b0921e799f94bcc4a846dc7cbc057)
163
- - Fixed features that didn't work on JRuby 9.1.0.0: [<tt>dc48dde</tt>](https://github.com/yuki24/did_you_mean/commit/dc48dde1b2a8f05aab1fcf897e1cb3075a206f53), [<tt>4de23f8</tt>](https://github.com/yuki24/did_you_mean/commit/4de23f880502c80c5f321371d39c08bb0fa34040), [<tt>00e3059</tt>](https://github.com/yuki24/did_you_mean/commit/00e305971060d150fae4817b5e895d6478b37579). The local variable name correction is still disabled. Also see: [jruby/jruby#3480](https://github.com/jruby/jruby/issues/3480)
162
+ - Fixed a bug where the gem suggests what is actually typed by the user: [<tt>1c52c88</tt>](https://github.com/ruby/did_you_mean/commit/1c52c887c62b0921e799f94bcc4a846dc7cbc057)
163
+ - Fixed features that didn't work on JRuby 9.1.0.0: [<tt>dc48dde</tt>](https://github.com/ruby/did_you_mean/commit/dc48dde1b2a8f05aab1fcf897e1cb3075a206f53), [<tt>4de23f8</tt>](https://github.com/ruby/did_you_mean/commit/4de23f880502c80c5f321371d39c08bb0fa34040), [<tt>00e3059</tt>](https://github.com/ruby/did_you_mean/commit/00e305971060d150fae4817b5e895d6478b37579). The local variable name correction is still disabled. Also see: [jruby/jruby#3480](https://github.com/jruby/jruby/issues/3480)
164
164
 
165
- ## [v1.0.0](https://github.com/yuki24/did_you_mean/tree/v1.0.0)
165
+ ## [v1.0.0](https://github.com/ruby/did_you_mean/tree/v1.0.0)
166
166
 
167
167
  _<sup>released at 2015-12-25 05:13:04 UTC</sup>_
168
168
 
169
169
  #### Features
170
170
 
171
- - Introduced a [verbose formatter](https://github.com/yuki24/did_you_mean#verbose-formatter)
172
- - Introduced an easy way to enabling [experimental features](https://github.com/yuki24/did_you_mean#experimental-features)
171
+ - Introduced a [verbose formatter](https://github.com/ruby/did_you_mean#verbose-formatter)
172
+ - Introduced an easy way to enabling [experimental features](https://github.com/ruby/did_you_mean#experimental-features)
173
173
 
174
174
  #### Bug Fixes
175
175
 
176
- - Fixed a bug where the Jaro-Winkler implementation returns the wrong distance when 2 identical strings are given. fixes [#58](https://github.com/yuki24/did_you_mean/pull/58)
176
+ - Fixed a bug where the Jaro-Winkler implementation returns the wrong distance when 2 identical strings are given. fixes [#58](https://github.com/ruby/did_you_mean/pull/58)
177
177
 
178
178
  #### Internal Changes
179
179
 
180
- - Slightly changed the spell checking algorithm. Take a look at [<tt>e2f5b24</tt>](https://github.com/yuki24/did_you_mean/commit/e2f5b2437f967565e4830eab6077f73ae166e0a7) for more details. fixes [#60](https://github.com/yuki24/did_you_mean/issues/60)
180
+ - Slightly changed the spell checking algorithm. Take a look at [<tt>e2f5b24</tt>](https://github.com/ruby/did_you_mean/commit/e2f5b2437f967565e4830eab6077f73ae166e0a7) for more details. fixes [#60](https://github.com/ruby/did_you_mean/issues/60)
181
181
 
182
- ## [v1.0.0.rc1](https://github.com/yuki24/did_you_mean/tree/v1.0.0.rc1)
182
+ ## [v1.0.0.rc1](https://github.com/ruby/did_you_mean/tree/v1.0.0.rc1)
183
183
 
184
184
  _<sup>released at 2015-12-25 05:02:25 UTC</sup>_
185
185
 
186
186
  #### Internal Changes
187
187
 
188
- - No longer uses `TracePoint` API by default. fixes [#55](https://github.com/yuki24/did_you_mean/issues/55) and [#56](https://github.com/yuki24/did_you_mean/issues/56)
188
+ - No longer uses `TracePoint` API by default. fixes [#55](https://github.com/ruby/did_you_mean/issues/55) and [#56](https://github.com/ruby/did_you_mean/issues/56)
189
189
 
190
- ## [v1.0.0.beta3](https://github.com/yuki24/did_you_mean/tree/v1.0.0.beta3)
190
+ ## [v1.0.0.beta3](https://github.com/ruby/did_you_mean/tree/v1.0.0.beta3)
191
191
 
192
192
  _<sup>released at 2015-12-25 04:56:13 UTC</sup>_
193
193
 
@@ -197,7 +197,7 @@ _<sup>released at 2015-12-25 04:56:13 UTC</sup>_
197
197
  - Use the `NameError#receiver` method in `DidYouMean:: ClassNameChecker` to know the namespace where the constant call is made
198
198
  - Refactored the `SpellCheckerTest`
199
199
 
200
- ## [v1.0.0.beta2](https://github.com/yuki24/did_you_mean/tree/v1.0.0.beta2)
200
+ ## [v1.0.0.beta2](https://github.com/ruby/did_you_mean/tree/v1.0.0.beta2)
201
201
 
202
202
  _<sup>released at 2015-12-25 04:50:36 UTC</sup>_
203
203
 
@@ -205,7 +205,7 @@ _<sup>released at 2015-12-25 04:50:36 UTC</sup>_
205
205
 
206
206
  - Fixed a bug where the gem doesn't install properly on Ruby 2.3.0dev
207
207
 
208
- ## [v1.0.0.beta1](https://github.com/yuki24/did_you_mean/tree/v1.0.0.beta1)
208
+ ## [v1.0.0.beta1](https://github.com/ruby/did_you_mean/tree/v1.0.0.beta1)
209
209
 
210
210
  _<sup>released at 2015-12-25 05:27:53 UTC</sup>_
211
211
 
@@ -219,7 +219,7 @@ _<sup>released at 2015-12-25 05:27:53 UTC</sup>_
219
219
  - The interception gem has been removed from the dependencies
220
220
  - Removed code that was needed to support multiple Ruby implementations
221
221
 
222
- ## [v0.10.0](https://github.com/yuki24/did_you_mean/tree/v0.10.0)
222
+ ## [v0.10.0](https://github.com/ruby/did_you_mean/tree/v0.10.0)
223
223
 
224
224
  _<sup>released at 2015-08-21 06:44:11 UTC</sup>_
225
225
 
@@ -237,28 +237,28 @@ _<sup>released at 2015-08-21 06:44:11 UTC</sup>_
237
237
  ```
238
238
 
239
239
  - Support for JRuby 9.0.0.0
240
- - Prefix-based correction ( [@tjohn](https://github.com/tjohn), [#50](https://github.com/yuki24/did_you_mean/issues/50 "Match start of method name"), [#49](https://github.com/yuki24/did_you_mean/issues/49 "Use Jaro distance instead of Jaro-Winkler distance"))
240
+ - Prefix-based correction ( [@tjohn](https://github.com/tjohn), [#50](https://github.com/ruby/did_you_mean/issues/50 "Match start of method name"), [#49](https://github.com/ruby/did_you_mean/issues/49 "Use Jaro distance instead of Jaro-Winkler distance"))
241
241
  - Correction search is about 75% faster than 0.9.10
242
242
 
243
243
  #### Breaking Changes
244
244
 
245
245
  - The ActiveRecord integration has been removed
246
246
 
247
- ## [v0.9.10](https://github.com/yuki24/did_you_mean/tree/v0.9.10)
247
+ ## [v0.9.10](https://github.com/ruby/did_you_mean/tree/v0.9.10)
248
248
 
249
249
  _<sup>released at 2015-05-14 03:04:47 UTC</sup>_
250
250
 
251
251
  #### Bug Fixes
252
252
 
253
- - Fixed a bug where a duplicate "did you mean?" message was appended each time `#to_s` is called ( [@danfinnie](https://github.com/danfinnie), [#51](https://github.com/yuki24/did_you_mean/issues/51 "Duplicate output for constants in separate gem"))
253
+ - Fixed a bug where a duplicate "did you mean?" message was appended each time `#to_s` is called ( [@danfinnie](https://github.com/danfinnie), [#51](https://github.com/ruby/did_you_mean/issues/51 "Duplicate output for constants in separate gem"))
254
254
 
255
- ## [v0.9.9](https://github.com/yuki24/did_you_mean/tree/v0.9.9)
255
+ ## [v0.9.9](https://github.com/ruby/did_you_mean/tree/v0.9.9)
256
256
 
257
257
  _<sup>released at 2015-05-13 03:48:19 UTC</sup>_
258
258
 
259
259
  #### Features
260
260
 
261
- - Order word suggestions based on Levenshtein distance ( [@tleish](https://github.com/tleish), [#31](https://github.com/yuki24/did_you_mean/pull/31))
261
+ - Order word suggestions based on Levenshtein distance ( [@tleish](https://github.com/tleish), [#31](https://github.com/ruby/did_you_mean/pull/31))
262
262
 
263
263
  #### Internal Changes
264
264
 
@@ -266,7 +266,7 @@ _<sup>released at 2015-05-13 03:48:19 UTC</sup>_
266
266
  - Speed up Levenshtein distance calculation by about 40%
267
267
  - The Java extension has been replaced with a pure JRuby implementation
268
268
 
269
- ## [v0.9.8](https://github.com/yuki24/did_you_mean/tree/v0.9.8)
269
+ ## [v0.9.8](https://github.com/ruby/did_you_mean/tree/v0.9.8)
270
270
 
271
271
  _<sup>released at 2015-04-12 01:55:27 UTC</sup>_
272
272
 
@@ -274,7 +274,7 @@ _<sup>released at 2015-04-12 01:55:27 UTC</sup>_
274
274
 
275
275
  - Speed up Levenshtein by 50% and reduce 97% of memory usage
276
276
 
277
- ## [v0.9.7](https://github.com/yuki24/did_you_mean/tree/v0.9.7)
277
+ ## [v0.9.7](https://github.com/ruby/did_you_mean/tree/v0.9.7)
278
278
 
279
279
  _<sup>released at 2015-04-02 04:20:26 UTC</sup>_
280
280
 
@@ -282,23 +282,23 @@ _<sup>released at 2015-04-02 04:20:26 UTC</sup>_
282
282
 
283
283
  - Fixed an issue where _did\_you\_mean_ doesn't install on JRuby properly.
284
284
 
285
- ## [v0.9.6](https://github.com/yuki24/did_you_mean/tree/v0.9.6)
285
+ ## [v0.9.6](https://github.com/ruby/did_you_mean/tree/v0.9.6)
286
286
 
287
287
  _<sup>released at 2015-01-24 23:19:27 UTC</sup>_
288
288
 
289
289
  #### Bug Fixes
290
290
 
291
- - Fixed a bug where did\_you\_mean incorrectly suggests protected methods when it just isn't callable ( [@glittershark](https://github.com/glittershark), [#34](https://github.com/yuki24/did_you_mean/issues/34 "Did\_you\_mean incorrectly called when attempting to call protected/private method"))
291
+ - Fixed a bug where did\_you\_mean incorrectly suggests protected methods when it just isn't callable ( [@glittershark](https://github.com/glittershark), [#34](https://github.com/ruby/did_you_mean/issues/34 "Did\_you\_mean incorrectly called when attempting to call protected/private method"))
292
292
 
293
- ## [v0.9.5](https://github.com/yuki24/did_you_mean/tree/v0.9.5)
293
+ ## [v0.9.5](https://github.com/ruby/did_you_mean/tree/v0.9.5)
294
294
 
295
295
  _<sup>released at 2015-01-07 12:41:23 UTC</sup>_
296
296
 
297
297
  #### Bug Fixes
298
298
 
299
- - Whitelist `#safe_constantize` method from `ActiveSupport::Inflector` to avoid significant performance slowdown ( [@tleish](https://github.com/tleish), [#19](https://github.com/yuki24/did_you_mean/issues/19 "Significant Slowdown when Using Debugger"), [#20](https://github.com/yuki24/did_you_mean/pull/20 "Whitelisting safe\_constantize (ActiveSupport::Inflector) method"))
299
+ - Whitelist `#safe_constantize` method from `ActiveSupport::Inflector` to avoid significant performance slowdown ( [@tleish](https://github.com/tleish), [#19](https://github.com/ruby/did_you_mean/issues/19 "Significant Slowdown when Using Debugger"), [#20](https://github.com/ruby/did_you_mean/pull/20 "Whitelisting safe\_constantize (ActiveSupport::Inflector) method"))
300
300
 
301
- ## [v0.9.4](https://github.com/yuki24/did_you_mean/tree/v0.9.4)
301
+ ## [v0.9.4](https://github.com/ruby/did_you_mean/tree/v0.9.4)
302
302
 
303
303
  _<sup>released at 2014-11-19 20:00:00 UTC</sup>_
304
304
 
@@ -306,7 +306,7 @@ _<sup>released at 2014-11-19 20:00:00 UTC</sup>_
306
306
 
307
307
  - Fixed a bug where no suggestions will be made on JRuby
308
308
 
309
- ## [v0.9.3](https://github.com/yuki24/did_you_mean/tree/v0.9.3)
309
+ ## [v0.9.3](https://github.com/ruby/did_you_mean/tree/v0.9.3)
310
310
 
311
311
  _<sup>released at 2014-11-18 03:50:11 UTC</sup>_
312
312
 
@@ -316,15 +316,15 @@ _<sup>released at 2014-11-18 03:50:11 UTC</sup>_
316
316
 
317
317
  - Replaced the crazy C extension with a so much better one (thanks to [@nobu](https://github.com/nobu)!)
318
318
 
319
- ## [v0.9.2](https://github.com/yuki24/did_you_mean/tree/v0.9.2)
319
+ ## [v0.9.2](https://github.com/ruby/did_you_mean/tree/v0.9.2)
320
320
 
321
321
  _<sup>released at 2014-11-17 15:32:33 UTC</sup>_
322
322
 
323
323
  #### Bug Fixes
324
324
 
325
- - Fixed a bug where did\_you\_mean doesn't compile on Ruby 2.1.2/2.1.5 ( [#16](https://github.com/yuki24/did_you_mean/issues/16 "Gem building failed on Debian 6.0.10 x86\_64"))
325
+ - Fixed a bug where did\_you\_mean doesn't compile on Ruby 2.1.2/2.1.5 ( [#16](https://github.com/ruby/did_you_mean/issues/16 "Gem building failed on Debian 6.0.10 x86\_64"))
326
326
 
327
- ## [v0.9.1](https://github.com/yuki24/did_you_mean/tree/v0.9.1)
327
+ ## [v0.9.1](https://github.com/ruby/did_you_mean/tree/v0.9.1)
328
328
 
329
329
  _<sup>released at 2014-11-16 18:54:24 UTC</sup>_
330
330
 
@@ -333,15 +333,15 @@ _<sup>released at 2014-11-16 18:54:24 UTC</sup>_
333
333
  #### Internal Changes
334
334
 
335
335
  - Shrink the gem size by removing unneeded ruby header files.
336
- - Now it forces everyone to upgrade the gem when they upgrade Ruby to a new version. This avoids introducing a bug like [#14](https://github.com/yuki24/did_you_mean/issues/14 "Compatibility with `letter\_opener` gem").
336
+ - Now it forces everyone to upgrade the gem when they upgrade Ruby to a new version. This avoids introducing a bug like [#14](https://github.com/ruby/did_you_mean/issues/14 "Compatibility with `letter\_opener` gem").
337
337
 
338
- ## [v0.9.0](https://github.com/yuki24/did_you_mean/tree/v0.9.0)
338
+ ## [v0.9.0](https://github.com/ruby/did_you_mean/tree/v0.9.0)
339
339
 
340
340
  _<sup>released at 2014-11-09 01:26:31 UTC</sup>_
341
341
 
342
342
  #### Features
343
343
 
344
- - did\_you\_mean now suggests instance variable names if `@` is missing ( [#12](https://github.com/yuki24/did_you_mean/issues/12 "Suggest instance- and class-vars"), [<tt>39d1e2b</tt>](https://github.com/yuki24/did_you_mean/commit/39d1e2bd66d6ff8acbc4dd5da922fc7e5fcefb20))
344
+ - did\_you\_mean now suggests instance variable names if `@` is missing ( [#12](https://github.com/ruby/did_you_mean/issues/12 "Suggest instance- and class-vars"), [<tt>39d1e2b</tt>](https://github.com/ruby/did_you_mean/commit/39d1e2bd66d6ff8acbc4dd5da922fc7e5fcefb20))
345
345
 
346
346
  ```ruby
347
347
  @full_name = "Yuki Nishijima"
@@ -354,10 +354,10 @@ first_name, last_name = full_name.split(" ")
354
354
 
355
355
  #### Bug Fixes
356
356
 
357
- - Fixed a bug where did\_you\_mean changes some behaviours of Ruby 2.1.3/2.1.4 installed on Max OS X ( [#14](https://github.com/yuki24/did_you_mean/issues/14 "Compatibility with `letter\_opener` gem"), [<tt>44c451f</tt>](https://github.com/yuki24/did_you_mean/commit/44c451f8c38b11763ba28ddf1ceb9696707ccea0), [<tt>9ebde21</tt>](https://github.com/yuki24/did_you_mean/commit/9ebde211e92eac8494e704f627c62fea7fdbee16))
358
- - Fixed a bug where sometimes `NoMethodError` suggests duplicate method names ( [<tt>9865cc5</tt>](https://github.com/yuki24/did_you_mean/commit/9865cc5a9ce926dd9ad4c20d575b710e5f257a4b))
357
+ - Fixed a bug where did\_you\_mean changes some behaviours of Ruby 2.1.3/2.1.4 installed on Max OS X ( [#14](https://github.com/ruby/did_you_mean/issues/14 "Compatibility with `letter\_opener` gem"), [<tt>44c451f</tt>](https://github.com/ruby/did_you_mean/commit/44c451f8c38b11763ba28ddf1ceb9696707ccea0), [<tt>9ebde21</tt>](https://github.com/ruby/did_you_mean/commit/9ebde211e92eac8494e704f627c62fea7fdbee16))
358
+ - Fixed a bug where sometimes `NoMethodError` suggests duplicate method names ( [<tt>9865cc5</tt>](https://github.com/ruby/did_you_mean/commit/9865cc5a9ce926dd9ad4c20d575b710e5f257a4b))
359
359
 
360
- ## [v0.8.0](https://github.com/yuki24/did_you_mean/tree/v0.8.0)
360
+ ## [v0.8.0](https://github.com/ruby/did_you_mean/tree/v0.8.0)
361
361
 
362
362
  _<sup>released at 2014-10-27 02:03:13 UTC</sup>_
363
363
 
@@ -371,9 +371,9 @@ _<sup>released at 2014-10-27 02:03:13 UTC</sup>_
371
371
 
372
372
  - Fixed a bug where did\_you\_mean unexpectedly disables [better\_errors](https://github.com/charliesome/better_errors)'s REPL
373
373
  - Replaced [binding\_of\_caller](https://github.com/banister/binding_of_caller) dependency with [interception](https://github.com/ConradIrwin/interception)
374
- - Fixed the wrong implementation of Levenshtein algorithm ( [#2](https://github.com/yuki24/did_you_mean/pull/2 "Fix bug of DidYouMean::Levenshtein#min3."), [@fortissimo1997](https://github.com/fortissimo1997))
374
+ - Fixed the wrong implementation of Levenshtein algorithm ( [#2](https://github.com/ruby/did_you_mean/pull/2 "Fix bug of DidYouMean::Levenshtein#min3."), [@fortissimo1997](https://github.com/fortissimo1997))
375
375
 
376
- ## [v0.7.0](https://github.com/yuki24/did_you_mean/tree/v0.7.0)
376
+ ## [v0.7.0](https://github.com/ruby/did_you_mean/tree/v0.7.0)
377
377
 
378
378
  _<sup>released at 2014-09-26 03:37:18 UTC</sup>_
379
379
 
@@ -391,7 +391,7 @@ _<sup>released at 2014-09-26 03:37:18 UTC</sup>_
391
391
 
392
392
  - A lot of internal refactoring
393
393
 
394
- ## [v0.6.0](https://github.com/yuki24/did_you_mean/tree/v0.6.0)
394
+ ## [v0.6.0](https://github.com/ruby/did_you_mean/tree/v0.6.0)
395
395
 
396
396
  _<sup>released at 2014-05-18 00:23:24 UTC</sup>_
397
397
 
@@ -413,7 +413,7 @@ _<sup>released at 2014-05-18 00:23:24 UTC</sup>_
413
413
 
414
414
  - Fixed a bug where did\_you\_mean segfaults on Ruby head(2.2.0dev)
415
415
 
416
- ## [v0.5.0](https://github.com/yuki24/did_you_mean/tree/v0.5.0)
416
+ ## [v0.5.0](https://github.com/ruby/did_you_mean/tree/v0.5.0)
417
417
 
418
418
  _<sup>released at 2014-05-10 17:59:54 UTC</sup>_
419
419
 
@@ -421,7 +421,7 @@ _<sup>released at 2014-05-10 17:59:54 UTC</sup>_
421
421
 
422
422
  - Added support for Ruby 2.1.2
423
423
 
424
- ## [v0.4.0](https://github.com/yuki24/did_you_mean/tree/v0.4.0)
424
+ ## [v0.4.0](https://github.com/ruby/did_you_mean/tree/v0.4.0)
425
425
 
426
426
  _<sup>released at 2014-04-20 02:10:31 UTC</sup>_
427
427
 
@@ -441,7 +441,7 @@ User.new(flrst_name: "wrong flrst name")
441
441
 
442
442
  - Fixed a bug where did\_you\_mean doesn't work with `ActiveRecord::UnknownAttributeError`
443
443
 
444
- ## [v0.3.1](https://github.com/yuki24/did_you_mean/tree/v0.3.1)
444
+ ## [v0.3.1](https://github.com/ruby/did_you_mean/tree/v0.3.1)
445
445
 
446
446
  _<sup>released at 2014-03-20 23:16:20 UTC</sup>_
447
447
 
@@ -450,7 +450,7 @@ _<sup>released at 2014-03-20 23:16:20 UTC</sup>_
450
450
  - Changed output for readability.
451
451
  - Made the spell checking algorithm slight better to find the correct method.
452
452
 
453
- ## [v0.3.0](https://github.com/yuki24/did_you_mean/tree/v0.3.0)
453
+ ## [v0.3.0](https://github.com/ruby/did_you_mean/tree/v0.3.0)
454
454
 
455
455
  _<sup>released at 2014-03-20 23:13:13 UTC</sup>_
456
456
 
@@ -458,7 +458,7 @@ _<sup>released at 2014-03-20 23:13:13 UTC</sup>_
458
458
 
459
459
  - Added support for Ruby 2.1.1 and 2.2.0(head).
460
460
 
461
- ## [v0.2.0](https://github.com/yuki24/did_you_mean/tree/v0.2.0)
461
+ ## [v0.2.0](https://github.com/ruby/did_you_mean/tree/v0.2.0)
462
462
 
463
463
  _<sup>released on 2014-03-20 23:12:13 UTC</sup>_
464
464
 
@@ -470,7 +470,7 @@ _<sup>released on 2014-03-20 23:12:13 UTC</sup>_
470
470
 
471
471
  - dropped support for JRuby and Rubbinious.
472
472
 
473
- ## [v0.1.0: First Release](https://github.com/yuki24/did_you_mean/tree/v0.1.0)
473
+ ## [v0.1.0: First Release](https://github.com/ruby/did_you_mean/tree/v0.1.0)
474
474
 
475
475
  _<sup>released on 2014-03-20 23:11:14 UTC</sup>_
476
476