Module YAML::BaseNode
In: lib/uttk/loaders/Yaml.rb

Methods

Constants

CLASS_KEY_LIST = [:strategy, :wclass, :symtbl_class, :matcher]

Public Instance methods

[Source]

# File lib/uttk/loaders/Yaml.rb, line 59
    def uttk_loader_yaml_transform
      @type_id = nil unless defined? @type_id
      t = nil
      case @value
      when Hash
        t = Hash.new
        if HAVE_YAML_TAGURI
          @value.each do |k, v|
            key_transform(t, k, v)
          end
        else
          children_with_index.each do |v, k|
            key_transform(t, k, v)
          end
        end
      when Array
        if not @value.empty? and @value.all? { |x| x.is_a? Hash and x.size == 1 }
          t = OHash.new
          @value.each do |x|
            k, v = x.to_a
            key_transform(t, k, v)
          end
        else
          t = Array.new
          @value.each do |v|
            t.push v.uttk_loader_yaml_transform
          end
        end
      when /^:"(.*)"/, /^:(.*)/
        @type_id = nil
        t = $1.to_sym
      else
        return transform
      end
      YAML.transfer(@type_id, t)
    end

[Validate]