did_you_mean 1.0.2 → 1.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 28e1952e8b23b15341dd32e2b069ff5a1095c214
4
- data.tar.gz: ab42a54b71d2ea36821f135af2182dbc42671abf
3
+ metadata.gz: cb27120266763f1d41479bb12b02ef1db0c8b7bd
4
+ data.tar.gz: cebe5a510c5fa9863d38a4f91ea384a10cbf1b76
5
5
  SHA512:
6
- metadata.gz: d91287f29b78c81341da7c6154272f25f8d9ca28b1d71599079746f24182830d1833493a270705fa3bdc20e003fb1566307772974b88fc6c7b904a7fe3b7a923
7
- data.tar.gz: 36a5296b2b247ff3a8791623108e3518571f2d8ad4864bc3eddfb9e17cb648726ba7af9ab4f5dc26d1ad5b4fc47e66044a41e62e066ef4d68727fb64ad8bec59
6
+ metadata.gz: 4bbab8b8a733acbb662684d9b631011920dec45e168c24274237a19f015f68db5aa49c5cec3833def7424c9066c4bf6efc76add22144f97c8b44d004fdff041f
7
+ data.tar.gz: 83103bcfbd0eec01e78a53b71b751eaef25f914330a44aac9f7c7e02244af29e96cf5654f6a4542d256062a97b2daa8c073522d57a34822fc16f4ac40e804adf
@@ -11,6 +11,10 @@ after_success:
11
11
  - bundle exec rake benchmark:memory
12
12
 
13
13
  rvm:
14
- - 2.3.0
14
+ - 2.3.1
15
15
  - ruby-head
16
16
  - jruby-head
17
+
18
+ matrix:
19
+ allow_failures:
20
+ - rvm: jruby-head
@@ -10,7 +10,10 @@ module DidYouMean
10
10
  msg = super.dup
11
11
  bt = caller(1, 6)
12
12
 
13
- msg << Formatter.new(corrections).to_s if IGNORED_CALLERS.all? {|ignored| bt.grep(ignored).empty? }
13
+ if IGNORED_CALLERS.all? {|ignored| bt.grep(ignored).empty? } && (!cause.respond_to?(:corrections) || cause.corrections.empty?)
14
+ msg << Formatter.new(corrections).to_s
15
+ end
16
+
14
17
  msg
15
18
  rescue
16
19
  super
@@ -6,7 +6,7 @@ module DidYouMean
6
6
 
7
7
  def initialize(exception)
8
8
  @name = exception.name.to_s.tr("@", "")
9
- @lvar_names = RUBY_ENGINE == 'jruby' ? [] : exception.local_variables
9
+ @lvar_names = exception.respond_to?(:local_variables) ? exception.local_variables : []
10
10
  receiver = exception.receiver
11
11
 
12
12
  @method_names = receiver.methods + receiver.private_methods
@@ -1,3 +1,3 @@
1
1
  module DidYouMean
2
- VERSION = "1.0.2"
2
+ VERSION = "1.0.3"
3
3
  end
@@ -9,6 +9,12 @@ class MethodNameTest < Minitest::Test
9
9
  raiae NoMethodError
10
10
  end
11
11
 
12
+ def raise_no_method_error
13
+ self.firstname
14
+ rescue NoMethodError => e
15
+ raise e, e.message, e.backtrace
16
+ end
17
+
12
18
  protected
13
19
  def the_protected_method; end
14
20
 
@@ -71,4 +77,28 @@ class MethodNameTest < Minitest::Test
71
77
  assert_correction :raise, error.corrections
72
78
  assert_match "Did you mean? raise", error.to_s
73
79
  end
80
+
81
+ def test_does_not_append_suggestions_twice
82
+ error = assert_raises NoMethodError do
83
+ begin
84
+ @user.firstname
85
+ rescue NoMethodError => e
86
+ raise e, e.message, e.backtrace
87
+ end
88
+ end
89
+
90
+ assert_equal 1, error.to_s.scan(/Did you mean/).count
91
+ end
92
+
93
+ def test_does_not_append_suggestions_three_times
94
+ error = assert_raises NoMethodError do
95
+ begin
96
+ @user.raise_no_method_error
97
+ rescue NoMethodError => e
98
+ raise e, e.message, e.backtrace
99
+ end
100
+ end
101
+
102
+ assert_equal 1, error.to_s.scan(/Did you mean/).count
103
+ end
74
104
  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.0.2
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yuki Nishijima
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-06-20 00:00:00.000000000 Z
11
+ date: 2017-03-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -129,7 +129,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
129
129
  version: '0'
130
130
  requirements: []
131
131
  rubyforge_project:
132
- rubygems_version: 2.5.1
132
+ rubygems_version: 2.6.8
133
133
  signing_key:
134
134
  specification_version: 4
135
135
  summary: '"Did you mean?" experience in Ruby'