class SafeYAML::SyckTagVerifier
Constants
- QUOTE_STYLES
Attributes
Public Class Methods
new(whitelist)
click to toggle source
# File lib/safe_yaml/syck_tag_verifier.rb, line 7 def initialize(whitelist) @tags = Set.new @verifier = SafeYAML::TagVerifier.new(whitelist) end
Public Instance Methods
verify(node)
click to toggle source
# File lib/safe_yaml/syck_tag_verifier.rb, line 12 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