summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/error_highlight/formatter.rb8
-rw-r--r--test/error_highlight/test_error_highlight.rb4
2 files changed, 5 insertions, 7 deletions
diff --git a/lib/error_highlight/formatter.rb b/lib/error_highlight/formatter.rb
index ce687fb2a2..20ca78d468 100644
--- a/lib/error_highlight/formatter.rb
+++ b/lib/error_highlight/formatter.rb
@@ -1,6 +1,6 @@
module ErrorHighlight
class DefaultFormatter
- def message_for(spot)
+ def self.message_for(spot)
# currently only a one-line code snippet is supported
if spot[:first_lineno] == spot[:last_lineno]
indent = spot[:snippet][0...spot[:first_column]].gsub(/[^\t]/, " ")
@@ -14,12 +14,10 @@ module ErrorHighlight
end
def self.formatter
- @@formatter
+ Ractor.current[:__error_highlight_formatter__] || DefaultFormatter
end
def self.formatter=(formatter)
- @@formatter = formatter
+ Ractor.current[:__error_highlight_formatter__] = formatter
end
-
- self.formatter = DefaultFormatter.new
end
diff --git a/test/error_highlight/test_error_highlight.rb b/test/error_highlight/test_error_highlight.rb
index 9fc14202b5..08036bca54 100644
--- a/test/error_highlight/test_error_highlight.rb
+++ b/test/error_highlight/test_error_highlight.rb
@@ -5,7 +5,7 @@ require "tempfile"
class ErrorHighlightTest < Test::Unit::TestCase
class DummyFormatter
- def message_for(corrections)
+ def self.message_for(corrections)
""
end
end
@@ -13,7 +13,7 @@ class ErrorHighlightTest < Test::Unit::TestCase
def setup
if defined?(DidYouMean)
@did_you_mean_old_formatter = DidYouMean.formatter
- DidYouMean.formatter = DummyFormatter.new
+ DidYouMean.formatter = DummyFormatter
end
end