did_you_mean 1.3.1 → 1.4.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.
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