Skip to content

Commit 9ad1cdd

Browse files
authored
Merge pull request #97 from ruby-syntax-tree/did-you-mean
Fix up did_you_mean usage
2 parents b18321d + 640db96 commit 9ad1cdd

File tree

2 files changed

+17
-4
lines changed

2 files changed

+17
-4
lines changed

lib/syntax_tree/basic_visitor.rb

+5-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,11 @@ def corrections
3333
).correct(visit_method)
3434
end
3535

36-
DidYouMean.correct_error(VisitMethodError, self)
36+
# In some setups with Ruby you can turn off DidYouMean, so we're going to
37+
# respect that setting here.
38+
if defined?(DidYouMean) && DidYouMean.method_defined?(:correct_error)
39+
DidYouMean.correct_error(VisitMethodError, self)
40+
end
3741
end
3842

3943
class << self

test/visitor_test.rb

+12-3
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,18 @@ def initialize
4040
end
4141
end
4242

43-
def test_visit_method_correction
44-
error = assert_raises { Visitor.visit_method(:visit_binar) }
45-
assert_match(/visit_binary/, error.message)
43+
if defined?(DidYouMean) && DidYouMean.method_defined?(:correct_error)
44+
def test_visit_method_correction
45+
error = assert_raises { Visitor.visit_method(:visit_binar) }
46+
message =
47+
if Exception.method_defined?(:detailed_message)
48+
error.detailed_message
49+
else
50+
error.message
51+
end
52+
53+
assert_match(/visit_binary/, message)
54+
end
4655
end
4756
end
4857
end

0 commit comments

Comments
 (0)