Sha256: 6730ecc3bb26f8ae0470080833f51ac030d2ac2750c767b74b49a6d45495433d
Contents?: true
Size: 678 Bytes
Versions: 1
Compression:
Stored size: 678 Bytes
Contents
module SafeYAML class SyckTagVerifier QUOTE_STYLES = [:quote1, :quote2] attr_reader :tags def initialize(whitelist) @tags = Set.new @verifier = SafeYAML::TagVerifier.new(whitelist) end def verify(node) return unless node.respond_to?(:type_id) if !QUOTE_STYLES.include?(node.instance_variable_get(:@style)) && node.value.is_a?(String) YAML.check_string_for_symbol!(node.value) end @verifier.verify_tag!(node.type_id, node.value) case node.value when Hash node.value.each { |k,v| verify(k); verify(v) } when Array node.value.each { |i| verify(i) } end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
safe_yaml-instructure-0.8.0 | lib/safe_yaml/syck_tag_verifier.rb |