Sha256: 80febcfdb242865867f7a645b9ca8c387548620eee82f0d20b91805cdbe82adb
Contents?: true
Size: 545 Bytes
Versions: 1
Compression:
Stored size: 545 Bytes
Contents
require 'set' module SafeYAML class TagVerifier def initialize(whitelist) @whitelist = whitelist @seen = Set.new end def verify_tag!(tag, value) return if !tag || @seen.include?(tag) case @whitelist.check(tag, value) when :cacheable @seen << tag when :allowed # in the whitelist, but can't be cached (because it called a proc for yes/no) else raise SafeYAML::UnsafeTagError.new("YAML tag is not whitelisted: #{tag} #{value.inspect}") 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/tag_verifier.rb |