Sha256: 29596571d8a2d1e028b3f2a219c7a30559c5df0aef24583ea6bb4b15cd0fad37

Contents?: true

Size: 736 Bytes

Versions: 1

Compression:

Stored size: 736 Bytes

Contents

module SafeYAML
  class PsychTagVerifier < Psych::Handler
    attr_reader :tags

    def initialize(whitelist)
      @tags = Set.new
      @verifier = SafeYAML::TagVerifier.new(whitelist)
    end

    def streaming?
      false
    end

    def alias(anchor)
    end

    def scalar(value, anchor, tag, plain, quoted, style)
      if !quoted && value.is_a?(String)
        YAML.check_string_for_symbol!(value)
      end
      @verifier.verify_tag!(tag, value)
    end

    def start_mapping(anchor, tag, implicit, style)
      @verifier.verify_tag!(tag, nil)
    end

    def end_mapping
    end

    def start_sequence(anchor, tag, implicit, style)
      @verifier.verify_tag!(tag, nil)
    end

    def end_sequence
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
safe_yaml-instructure-0.8.0 lib/safe_yaml/psych_tag_verifier.rb