[ruby/erb] Make @scanner_map
of ERB::Compiler::Scanner
ractor-shareable
- Freeze on assignment - Recreate Hash on registration https://github.com/ruby/erb/commit/12d69fc2b3
This commit is contained in:
parent
96b5cde28b
commit
272a8c3c3f
@ -80,11 +80,17 @@ class ERB::Compiler # :nodoc:
|
||||
end
|
||||
|
||||
class Scanner # :nodoc:
|
||||
@scanner_map = {}
|
||||
@scanner_map = defined?(Ractor) ? Ractor.make_shareable({}) : {}
|
||||
class << self
|
||||
if defined?(Ractor)
|
||||
def register_scanner(klass, trim_mode, percent)
|
||||
@scanner_map = Ractor.make_shareable({ **@scanner_map, [trim_mode, percent] => klass })
|
||||
end
|
||||
else
|
||||
def register_scanner(klass, trim_mode, percent)
|
||||
@scanner_map[[trim_mode, percent]] = klass
|
||||
end
|
||||
end
|
||||
alias :regist_scanner :register_scanner
|
||||
end
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user