class Syck::YamlNode - syck-1.0.5 Documentation

# class Syck::YamlNode

YAML Generic Model container

### Attributes

anchor[RW]
kind[RW]
type_id[RW]
value[RW]

### Public Class Methods

new(t, v) click to toggle source

    # File lib/syck/yamlnode.rb, line 14
    def initialize(t, v)
        @type_id = t
        if Hash === v
            @kind = 'map'
            @value = {}
            v.each {|key,val|
                @value[key.transform] = [key, val]
            }
        elsif Array === v
            @kind = 'seq'
            @value = v
        elsif String === v
            @kind = 'scalar'
            @value = v
        end
    end

### Public Instance Methods

transform() click to toggle source

Transform this node fully into a native type

    # File lib/syck/yamlnode.rb, line 34
    def transform
        t = nil
        if @value.is_a? Hash
            t = {}
            @value.each { |k,v|
                t[ k ] = v[1].transform
            }
        elsif @value.is_a? Array
            t = []
            @value.each { |v|
                t.push v.transform
            }
        else
            t = @value
        end
        Syck.transfer_method( @type_id, t )
    end