did_you_mean 1.3.0 → 1.3.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.
- checksums.yaml +4 -4
- data/.travis.yml +8 -0
- data/CHANGELOG.md +56 -0
- data/Gemfile +1 -0
- data/README.md +34 -0
- data/Rakefile +27 -3
- data/benchmark/jaro_winkler/memory_usage.rb +4 -4
- data/benchmark/jaro_winkler/speed.rb +14 -6
- data/benchmark/levenshtein/memory_usage.rb +4 -4
- data/benchmark/levenshtein/speed.rb +13 -8
- data/benchmark/speed.yml +13 -0
- data/lib/did_you_mean/core_ext/name_error.rb +2 -4
- data/lib/did_you_mean/spell_checker.rb +1 -7
- data/lib/did_you_mean/spell_checkers/method_name_checker.rb +1 -1
- data/lib/did_you_mean/version.rb +1 -1
- data/test/core_ext/name_error_extension_test.rb +2 -2
- data/test/spell_checking/method_name_check_test.rb +12 -0
- data/test/spell_checking/variable_name_check_test.rb +6 -4
- data/test/verbose_formatter_test.rb +3 -4
- metadata +4 -6
- data/.ruby-version +0 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: '088f268582576b904e0d73ca3efc4d0f5b1f1b0502a215215e0d7a93d8e3fd27'
|
|
4
|
+
data.tar.gz: fa0582301402135a7ea58e974a9314ec4aeb0f4866d18233bbd8d68e2354d24b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 176153acc0119212a3cff509cc5abefed1ae8ae0a99a92131882242b5a4f0dd7a5dcddf3da7aff492c0d00bfa3ea2c155f549c4430b36775ed7d66de0cf1dd9a
|
|
7
|
+
data.tar.gz: 24b2ae0af79e1a359e25174412a431d53a122a5cce658e02c1c511ebfeab17708b86e62fb8a9a66b79334d5ea6788ca3972ed2bc30a1b1a2092eb105d5fe6331
|
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,41 @@
|
|
|
1
|
+
## v1.4.0 (Next)
|
|
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))
|
|
5
|
+
|
|
6
|
+
## [v1.3.0](https://github.com/yuki24/did_you_mean/tree/v1.3.0)
|
|
7
|
+
|
|
8
|
+
_<sup>released at 2018-12-18 15:37:10 UTC</sup>_
|
|
9
|
+
|
|
10
|
+
**Starting version 1.3, the `did_you_mean` gem will be compatible with 2.6 and 2.5, and we will try to keep all subsequent versions compatible with Ruby 2.5 on an best-effort basis.**
|
|
11
|
+
|
|
12
|
+
- Version 1.2.0 only has support for Ruby 2.5.0 and later as it uses new features that are only available in 2.5.
|
|
13
|
+
- Versions earlier than 1.1.\* will still be maintained until Ruby 2.4 is deprecated.
|
|
14
|
+
- Versions earlier than 1.0.\* is still maintained, but are likely to be deprecated as Ruby 2.3 will (probably) be deprecated in 2019.
|
|
15
|
+
- Support for versions below 1.0 has already ended.
|
|
16
|
+
|
|
17
|
+
#### New features
|
|
18
|
+
|
|
19
|
+
- Suggest reserved words if there are close matches ([<tt>2a082a7</tt>](https://github.com/yuki24/did_you_mean/commit/2a082a71991f5afe2e27ce9538103eac4c428025))
|
|
20
|
+
|
|
21
|
+
```ruby
|
|
22
|
+
results = yiedl
|
|
23
|
+
# NameError => undefined local variable or method `yiedl' for ...
|
|
24
|
+
# Did you mean? yield
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
#### Bug fixes
|
|
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))
|
|
30
|
+
|
|
31
|
+
## [v1.2.2](https://github.com/yuki24/did_you_mean/tree/v1.2.2)
|
|
32
|
+
|
|
33
|
+
_<sup>released at 2019-03-09 23:17:22 UTC</sup>_
|
|
34
|
+
|
|
35
|
+
#### Bug fixes
|
|
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))
|
|
38
|
+
|
|
1
39
|
## [v1.2.1](https://github.com/yuki24/did_you_mean/tree/v1.2.1)
|
|
2
40
|
|
|
3
41
|
_<sup>released at 2018-04-03 04:44:47 UTC</sup>_
|
|
@@ -23,6 +61,15 @@ _<sup>released at 2018-01-02 20:49:35 UTC</sup>_
|
|
|
23
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))
|
|
24
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
|
|
25
63
|
|
|
64
|
+
## [v1.1.3](https://github.com/yuki24/did_you_mean/tree/v1.1.3)
|
|
65
|
+
|
|
66
|
+
_<sup>released at 2019-03-09 23:16:54 UTC</sup>_
|
|
67
|
+
|
|
68
|
+
#### Bug fixes
|
|
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))
|
|
72
|
+
|
|
26
73
|
## [v1.1.2](https://github.com/yuki24/did_you_mean/tree/v1.1.2)
|
|
27
74
|
|
|
28
75
|
_<sup>released at 2017-09-24 07:28:48 UTC</sup>_
|
|
@@ -69,6 +116,15 @@ The version `1.1.0` only has support for Ruby 2.4.0 and later. Also, all patch r
|
|
|
69
116
|
|
|
70
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))
|
|
71
118
|
|
|
119
|
+
## [v1.0.4](https://github.com/yuki24/did_you_mean/tree/v1.0.4)
|
|
120
|
+
|
|
121
|
+
_<sup>released at 2019-03-09 23:16:38 UTC</sup>_
|
|
122
|
+
|
|
123
|
+
#### Bug fixes
|
|
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))
|
|
127
|
+
|
|
72
128
|
## [v1.0.3](https://github.com/yuki24/did_you_mean/tree/v1.0.3)
|
|
73
129
|
|
|
74
130
|
_<sup>released at 2017-09-24 07:22:07 UTC</sup>_
|
data/Gemfile
CHANGED
data/README.md
CHANGED
|
@@ -108,6 +108,17 @@ OBject
|
|
|
108
108
|
#
|
|
109
109
|
```
|
|
110
110
|
|
|
111
|
+
## Using the `DidYouMean::SpellChecker`
|
|
112
|
+
|
|
113
|
+
If you need to programmatically find the closest matches to the user input, you could do so by re-using the `DidYouMean::SpellChecker` object.
|
|
114
|
+
|
|
115
|
+
```ruby
|
|
116
|
+
spell_checker = DidYouMean::SpellChecker.new(dictionary: ['email', 'fail', 'eval'])
|
|
117
|
+
|
|
118
|
+
spell_checker.correct('meail') # => ['email']
|
|
119
|
+
spell_checker.correct('afil') # => ['fail']
|
|
120
|
+
```
|
|
121
|
+
|
|
111
122
|
## Disabling `did_you_mean`
|
|
112
123
|
|
|
113
124
|
Occasionally, you may want to disable the `did_you_mean` gem for e.g. debugging issues in the error object itself. You
|
|
@@ -147,6 +158,29 @@ no_method_error.original_message
|
|
|
147
158
|
# => NoMethodError (undefined method `zeor?' for 1:Integer)
|
|
148
159
|
```
|
|
149
160
|
|
|
161
|
+
## Benchmarking
|
|
162
|
+
|
|
163
|
+
Performance is very important as the `did_you_mean` gem attempts to find the closest matches on the fly right after an exception
|
|
164
|
+
is thrown. You could use the following rake tasks to get insights into how the gem performs:
|
|
165
|
+
|
|
166
|
+
```bash
|
|
167
|
+
bundle exec rake benchmark:ips:jaro
|
|
168
|
+
bundle exec rake benchmark:ips:levenshtein
|
|
169
|
+
bundle exec rake benchmark:memory
|
|
170
|
+
bundle exec rake benchmark:memory:jaro
|
|
171
|
+
bundle exec rake benchmark:memory:levenshtein
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
**Be sure to always use `bundle exec` otherwise it will activate the pre-installed version of the `did_you_mean`
|
|
175
|
+
gem rather than using what's in the `lib/`.**
|
|
176
|
+
|
|
177
|
+
You could also use the [`benchmark-driver`](https://github.com/benchmark-driver/benchmark-driver) gem to know how each
|
|
178
|
+
Ruby performs differently.
|
|
179
|
+
|
|
180
|
+
```bash
|
|
181
|
+
bundle exec benchmark-driver benchmark/speed.yml --rbenv '2.6.0 --jit;2.6.0;2.5.3;truffleruby-1.0.0-rc10' --run-duration 30
|
|
182
|
+
```
|
|
183
|
+
|
|
150
184
|
## Contributing
|
|
151
185
|
|
|
152
186
|
1. Fork it (http://github.com/yuki24/did_you_mean/fork)
|
data/Rakefile
CHANGED
|
@@ -27,7 +27,7 @@ namespace :test do
|
|
|
27
27
|
end
|
|
28
28
|
end
|
|
29
29
|
|
|
30
|
-
desc "Calculate accuracy of the
|
|
30
|
+
desc "Calculate accuracy of the gem's spell checker"
|
|
31
31
|
task :accuracy do
|
|
32
32
|
if !File.exist?("evaluation/dictionary.yml")
|
|
33
33
|
puts 'Generating dictionary for evaluation:'
|
|
@@ -40,8 +40,32 @@ namespace :test do
|
|
|
40
40
|
end
|
|
41
41
|
|
|
42
42
|
namespace :benchmark do
|
|
43
|
-
|
|
43
|
+
namespace :ips do
|
|
44
|
+
desc "Measure performance of the gem's Jaro distance implementation"
|
|
45
|
+
task :jaro do
|
|
46
|
+
sh "ruby benchmark/jaro_winkler/speed.rb"
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
desc "Benchmark performance of the gem's Levenshtein distance implementation"
|
|
50
|
+
task :levenshtein do
|
|
51
|
+
sh "ruby benchmark/levenshtein/speed.rb"
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
desc "Benchmark memory usage in the gem's spell checker"
|
|
44
56
|
task :memory do
|
|
45
|
-
sh
|
|
57
|
+
sh "ruby benchmark/memory_usage.rb"
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
namespace :memory do
|
|
61
|
+
desc "Benchmark memory usage in the gem's Jaro distance implementation"
|
|
62
|
+
task :jaro do
|
|
63
|
+
sh "ruby benchmark/jaro_winkler/memory_usage.rb"
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
desc "Benchmark memory usage in the gem's Levenshtein distance implementation"
|
|
67
|
+
task :levenshtein do
|
|
68
|
+
sh "ruby benchmark/levenshtein/memory_usage.rb"
|
|
69
|
+
end
|
|
46
70
|
end
|
|
47
71
|
end
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
+
# frozen-string-literal: true
|
|
2
|
+
|
|
1
3
|
require 'memory_profiler'
|
|
2
4
|
require 'did_you_mean/jaro_winkler'
|
|
3
5
|
|
|
4
|
-
str1, str2 = "user_signed_in?", "user_logged_in?"
|
|
5
|
-
|
|
6
6
|
report = MemoryProfiler.report do
|
|
7
|
-
|
|
8
|
-
DidYouMean::Jaro.distance
|
|
7
|
+
1000.times do
|
|
8
|
+
DidYouMean::Jaro.distance "user_signed_in?", "user_logged_in?"
|
|
9
9
|
end
|
|
10
10
|
end
|
|
11
11
|
|
|
@@ -1,14 +1,22 @@
|
|
|
1
|
+
# frozen-string-literal: true
|
|
2
|
+
|
|
1
3
|
require 'benchmark/ips'
|
|
2
|
-
require 'did_you_mean'
|
|
4
|
+
require 'did_you_mean/jaro_winkler'
|
|
3
5
|
|
|
4
6
|
Benchmark.ips do |x|
|
|
5
|
-
x.report "
|
|
6
|
-
DidYouMean::Jaro.
|
|
7
|
+
x.report "original" do
|
|
8
|
+
DidYouMean::Jaro.distance "user_signed_in?", "user_logged_in?"
|
|
7
9
|
end
|
|
8
10
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
11
|
+
# This #proposed method is not defined. Write your own method using this
|
|
12
|
+
# name so we can reliably run the benchmark and measure the difference.
|
|
13
|
+
#
|
|
14
|
+
# Alternatively, you could directly update the #distance method and remove
|
|
15
|
+
# this completely.
|
|
16
|
+
#
|
|
17
|
+
# x.report "proposed" do
|
|
18
|
+
# DidYouMean::Jaro.proposed "user_signed_in?", "user_logged_in?"
|
|
19
|
+
# end
|
|
12
20
|
|
|
13
21
|
x.compare!
|
|
14
22
|
end
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
+
# frozen-string-literal: true
|
|
2
|
+
|
|
1
3
|
require 'memory_profiler'
|
|
2
4
|
require 'did_you_mean/levenshtein'
|
|
3
5
|
|
|
4
|
-
str1, str2 = "user_signed_in?", "user_logged_in?"
|
|
5
|
-
|
|
6
6
|
report = MemoryProfiler.report do
|
|
7
|
-
|
|
8
|
-
DidYouMean::Levenshtein.distance
|
|
7
|
+
1000.times do
|
|
8
|
+
DidYouMean::Levenshtein.distance "user_signed_in?", "user_logged_in?"
|
|
9
9
|
end
|
|
10
10
|
end
|
|
11
11
|
|
|
@@ -1,17 +1,22 @@
|
|
|
1
|
+
# frozen-string-literal: true
|
|
2
|
+
|
|
1
3
|
require 'benchmark/ips'
|
|
2
|
-
require 'did_you_mean'
|
|
3
4
|
require 'did_you_mean/levenshtein'
|
|
4
5
|
|
|
5
|
-
STR1, STR2 = "user_signed_in?", "user_logged_in?"
|
|
6
|
-
|
|
7
6
|
Benchmark.ips do |x|
|
|
8
|
-
x.report "
|
|
9
|
-
DidYouMean::Levenshtein.
|
|
7
|
+
x.report "original" do
|
|
8
|
+
DidYouMean::Levenshtein.distance "user_signed_in?", "user_logged_in?"
|
|
10
9
|
end
|
|
11
10
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
# This #proposed method is not defined. Write your own method using this
|
|
12
|
+
# name so we can reliably run the benchmark and measure the difference.
|
|
13
|
+
#
|
|
14
|
+
# Alternatively, you could directly update the #distance method and remove
|
|
15
|
+
# this completely.
|
|
16
|
+
#
|
|
17
|
+
# x.report "proposed" do
|
|
18
|
+
# DidYouMean::Levenshtein.proposed "user_signed_in?", "user_logged_in?"
|
|
19
|
+
# end
|
|
15
20
|
|
|
16
21
|
x.compare!
|
|
17
22
|
end
|
data/benchmark/speed.yml
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
prelude: |
|
|
2
|
+
require 'did_you_mean/spell_checker'
|
|
3
|
+
|
|
4
|
+
str1, str2 = "user_signed_in?", "user_logged_in?"
|
|
5
|
+
METHODS = ''.methods
|
|
6
|
+
INPUT = 'starts_with?'
|
|
7
|
+
collection = DidYouMean::SpellChecker.new(dictionary: METHODS)
|
|
8
|
+
|
|
9
|
+
benchmark:
|
|
10
|
+
Jaro: DidYouMean::Jaro.distance(str1, str2)
|
|
11
|
+
Jaro Winkler: DidYouMean::JaroWinkler.distance(str1, str2)
|
|
12
|
+
Levenshtein: DidYouMean::Levenshtein.distance(str1, str2)
|
|
13
|
+
Spell checker: collection.correct(INPUT)
|
|
@@ -6,11 +6,9 @@ module DidYouMean
|
|
|
6
6
|
|
|
7
7
|
def to_s
|
|
8
8
|
msg = super.dup
|
|
9
|
+
suggestion = DidYouMean.formatter.message_for(corrections)
|
|
9
10
|
|
|
10
|
-
if !
|
|
11
|
-
msg << DidYouMean.formatter.message_for(corrections)
|
|
12
|
-
end
|
|
13
|
-
|
|
11
|
+
msg << suggestion if !msg.end_with?(suggestion)
|
|
14
12
|
msg
|
|
15
13
|
rescue
|
|
16
14
|
super
|
|
@@ -38,13 +38,7 @@ module DidYouMean
|
|
|
38
38
|
private
|
|
39
39
|
|
|
40
40
|
def normalize(str_or_symbol) #:nodoc:
|
|
41
|
-
str =
|
|
42
|
-
str_or_symbol.dup
|
|
43
|
-
else
|
|
44
|
-
str_or_symbol.to_s
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
str.downcase!
|
|
41
|
+
str = str_or_symbol.to_s.downcase
|
|
48
42
|
str.tr!("@", "")
|
|
49
43
|
str
|
|
50
44
|
end
|
|
@@ -9,7 +9,7 @@ module DidYouMean
|
|
|
9
9
|
|
|
10
10
|
# +MethodNameChecker::RB_RESERVED_WORDS+ is the list of reserved words in
|
|
11
11
|
# Ruby that take an argument. Unlike
|
|
12
|
-
# +VariableNameChecker::RB_RESERVED_WORDS+,
|
|
12
|
+
# +VariableNameChecker::RB_RESERVED_WORDS+, these reserved words require
|
|
13
13
|
# an argument, and a +NoMethodError+ is raised due to the presence of the
|
|
14
14
|
# argument.
|
|
15
15
|
#
|
data/lib/did_you_mean/version.rb
CHANGED
|
@@ -39,13 +39,13 @@ class NameErrorExtensionTest < Minitest::Test
|
|
|
39
39
|
|
|
40
40
|
def test_correctable_error_objects_are_dumpable
|
|
41
41
|
error = begin
|
|
42
|
-
File.open('
|
|
42
|
+
File.open('did_you_mean.gemspec').sizee
|
|
43
43
|
rescue NoMethodError => e
|
|
44
44
|
e
|
|
45
45
|
end
|
|
46
46
|
|
|
47
47
|
error.to_s
|
|
48
48
|
|
|
49
|
-
assert_equal "undefined method `sizee' for #<File
|
|
49
|
+
assert_equal "undefined method `sizee' for #<File:did_you_mean.gemspec>", Marshal.load(Marshal.dump(error)).original_message
|
|
50
50
|
end
|
|
51
51
|
end
|
|
@@ -117,6 +117,18 @@ class MethodNameCheckTest < Minitest::Test
|
|
|
117
117
|
assert_equal 1, error.to_s.scan(/Did you mean/).count
|
|
118
118
|
end
|
|
119
119
|
|
|
120
|
+
def test_suggests_corrections_on_nested_error
|
|
121
|
+
error = assert_raises NoMethodError do
|
|
122
|
+
begin
|
|
123
|
+
@user.firstname
|
|
124
|
+
rescue NoMethodError
|
|
125
|
+
@user.firstname
|
|
126
|
+
end
|
|
127
|
+
end
|
|
128
|
+
|
|
129
|
+
assert_equal 1, error.to_s.scan(/Did you mean/).count
|
|
130
|
+
end
|
|
131
|
+
|
|
120
132
|
def test_suggests_yield
|
|
121
133
|
error = assert_raises(NoMethodError) { yeild(1) }
|
|
122
134
|
|
|
@@ -50,11 +50,13 @@ class VariableNameCheckTest < Minitest::Test
|
|
|
50
50
|
end
|
|
51
51
|
|
|
52
52
|
def test_corrections_include_local_variable_name
|
|
53
|
-
|
|
54
|
-
|
|
53
|
+
if RUBY_ENGINE != "jruby"
|
|
54
|
+
person = person = nil
|
|
55
|
+
error = (eprson rescue $!) # Do not use @assert_raises here as it changes a scope.
|
|
55
56
|
|
|
56
|
-
|
|
57
|
-
|
|
57
|
+
assert_correction :person, error.corrections
|
|
58
|
+
assert_match "Did you mean? person", error.to_s
|
|
59
|
+
end
|
|
58
60
|
end
|
|
59
61
|
|
|
60
62
|
def test_corrections_include_ruby_predefined_objects
|
|
@@ -4,8 +4,7 @@ class VerboseFormatterTest < Minitest::Test
|
|
|
4
4
|
def setup
|
|
5
5
|
require 'did_you_mean/verbose'
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
@error = assert_raises(NameError){ doesnt_exist }
|
|
7
|
+
@error = assert_raises(NameError){ 1.zeor? }
|
|
9
8
|
end
|
|
10
9
|
|
|
11
10
|
def teardown
|
|
@@ -14,9 +13,9 @@ class VerboseFormatterTest < Minitest::Test
|
|
|
14
13
|
|
|
15
14
|
def test_message
|
|
16
15
|
assert_equal <<~MESSAGE.chomp, @error.message
|
|
17
|
-
undefined
|
|
16
|
+
undefined method `zeor?' for 1:Integer
|
|
18
17
|
|
|
19
|
-
Did you mean?
|
|
18
|
+
Did you mean? zero?
|
|
20
19
|
|
|
21
20
|
MESSAGE
|
|
22
21
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: did_you_mean
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.3.
|
|
4
|
+
version: 1.3.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Yuki Nishijima
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2019-09-29 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -60,7 +60,6 @@ extensions: []
|
|
|
60
60
|
extra_rdoc_files: []
|
|
61
61
|
files:
|
|
62
62
|
- ".gitignore"
|
|
63
|
-
- ".ruby-version"
|
|
64
63
|
- ".travis.yml"
|
|
65
64
|
- CHANGELOG.md
|
|
66
65
|
- Gemfile
|
|
@@ -72,6 +71,7 @@ files:
|
|
|
72
71
|
- benchmark/levenshtein/memory_usage.rb
|
|
73
72
|
- benchmark/levenshtein/speed.rb
|
|
74
73
|
- benchmark/memory_usage.rb
|
|
74
|
+
- benchmark/speed.yml
|
|
75
75
|
- did_you_mean.gemspec
|
|
76
76
|
- doc/CHANGELOG.md.erb
|
|
77
77
|
- doc/changelog_generator.rb
|
|
@@ -106,7 +106,6 @@ files:
|
|
|
106
106
|
- test/spell_checking/variable_name_check_test.rb
|
|
107
107
|
- test/test_helper.rb
|
|
108
108
|
- test/verbose_formatter_test.rb
|
|
109
|
-
- tmp/.keep
|
|
110
109
|
homepage: https://github.com/yuki24/did_you_mean
|
|
111
110
|
licenses:
|
|
112
111
|
- MIT
|
|
@@ -126,8 +125,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
126
125
|
- !ruby/object:Gem::Version
|
|
127
126
|
version: '0'
|
|
128
127
|
requirements: []
|
|
129
|
-
|
|
130
|
-
rubygems_version: 2.7.4
|
|
128
|
+
rubygems_version: 3.0.3
|
|
131
129
|
signing_key:
|
|
132
130
|
specification_version: 4
|
|
133
131
|
summary: '"Did you mean?" experience in Ruby'
|
data/.ruby-version
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
2.5.0
|