Methods
- A
- N
- V
Constants
DEFAULT_PERMITTED_CLASSES | = | { TrueClass => true, FalseClass => true, NilClass => true, Integer => true, Float => true, String => true, Array => true, Hash => true, }.compare_by_identity.freeze |
Class Public methods
new(emitter, ss, options) Link
# File ruby/ext/psych/lib/psych/visitors/yaml_tree.rb, line 552 def initialize emitter, ss, options super @permitted_classes = DEFAULT_PERMITTED_CLASSES.dup Array(options[:permitted_classes]).each do |klass| @permitted_classes[klass] = true end @permitted_symbols = {}.compare_by_identity Array(options[:permitted_symbols]).each do |symbol| @permitted_symbols[symbol] = true end @aliases = options.fetch(:aliases, false) end
Instance Public methods
accept(target) Link
# File ruby/ext/psych/lib/psych/visitors/yaml_tree.rb, line 565 def accept target if !@aliases && @st.key?(target) raise BadAlias, "Tried to dump an aliased object" end unless Symbol === target || @permitted_classes[target.class] raise DisallowedClass.new('dump', target.class.name || target.class.inspect) end super end