Module: YPS::Visitor
- Defined in:
- lib/yps/visitor.rb
Defined Under Namespace
Modules: Common Classes: NoAliasRuby, ToRuby
Class Method Summary collapse
-
.create(permitted_classes, permitted_symbols, unwrapped_classes, aliases, symbolize_names, freeze, strict_integer, value_class) ⇒ Object
rubocop:disable Metrics/ParameterLists.
Class Method Details
.create(permitted_classes, permitted_symbols, unwrapped_classes, aliases, symbolize_names, freeze, strict_integer, value_class) ⇒ Object
rubocop:disable Metrics/ParameterLists
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/yps/visitor.rb', line 49 def self.create( # rubocop:disable Metrics/ParameterLists permitted_classes, permitted_symbols, unwrapped_classes, aliases, symbolize_names, freeze, strict_integer, value_class ) class_loader = Psych::ClassLoader::Restricted.new( permitted_classes.map(&:to_s), permitted_symbols.map(&:to_s) ) scanner = if RUBY_VERSION >= '3.2.0' Psych::ScalarScanner.new(class_loader, strict_integer:) else Psych::ScalarScanner.new(class_loader) end (aliases && ToRuby || NoAliasRuby) .new(scanner, class_loader, unwrapped_classes, value_class, symbolize_names:, freeze:) end |