We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
@scanner_map
ERB::Compiler::Scanner
1 parent 348777b commit 12d69fcCopy full SHA for 12d69fc
lib/erb/compiler.rb
@@ -80,10 +80,16 @@ def initialize(str)
80
end
81
82
class Scanner # :nodoc:
83
- @scanner_map = {}
+ @scanner_map = defined?(Ractor) ? Ractor.make_shareable({}) : {}
84
class << self
85
- def register_scanner(klass, trim_mode, percent)
86
- @scanner_map[[trim_mode, percent]] = klass
+ if defined?(Ractor)
+ def register_scanner(klass, trim_mode, percent)
87
+ @scanner_map = Ractor.make_shareable({ **@scanner_map, [trim_mode, percent] => klass })
88
+ end
89
+ else
90
91
+ @scanner_map[[trim_mode, percent]] = klass
92
93
94
alias :regist_scanner :register_scanner
95
0 commit comments