class Psych::Visitors::Visitor
常量
- DISPATCH
公共类方法
源码
# File ext/psych/lib/psych/visitors/visitor.rb, line 12 def self.dispatch_cache Hash.new do |hash, klass| hash[klass] = :"visit_#{klass.name.gsub('::', '_')}" end.compare_by_identity end
@api private
公共实例方法
源码
# File ext/psych/lib/psych/visitors/visitor.rb, line 5 def accept target visit target end
私有实例方法
源码
# File ext/psych/lib/psych/visitors/visitor.rb, line 19 def dispatch @dispatch_cache ||= (Ractor.current[:Psych_Visitors_Visitor] ||= Visitor.dispatch_cache) end
源码
# File ext/psych/lib/psych/visitors/visitor.rb, line 29 def visit target send dispatch[target.class], target end