Syck::Pairs

Builtin collection: !pairs

Public Class Methods

[]( *vals ) click to toggle source
 
               # File syck/lib/syck/types.rb, line 155
def self.[]( *vals )
    p = Pairs.new
    0.step( vals.length - 1, 2 ) { |i|
        p[vals[i]] = vals[i+1]
    }
    p
end
            

Public Instance Methods

[]( k ) click to toggle source
 
               # File syck/lib/syck/types.rb, line 162
def []( k )
    self.assoc( k ).to_a
end
            
[]=( k, val ) click to toggle source
 
               # File syck/lib/syck/types.rb, line 165
def []=( k, val )
    self << [ k, val ]
    val
end
            
has_key?( k ) click to toggle source
 
               # File syck/lib/syck/types.rb, line 169
def has_key?( k )
    self.assoc( k ) ? true : false
end
            
is_complex_yaml?() click to toggle source
 
               # File syck/lib/syck/types.rb, line 172
def is_complex_yaml?
    true
end
            
to_yaml( opts = {} ) click to toggle source
 
               # File syck/lib/syck/types.rb, line 175
def to_yaml( opts = {} )
    Syck.quick_emit( self, opts ) do |out|
        out.seq( taguri, to_yaml_style ) do |seq|
            self.each do |v|
                seq.add( Hash[ *v ] )
            end
        end
    end
end
            
yaml_initialize( tag, val ) click to toggle source
 
               # File syck/lib/syck/types.rb, line 141
def yaml_initialize( tag, val )
    if Array === val
        val.each do |v|
            if Hash === v
                concat( v.to_a )                # Convert the map to a sequence
            else
                raise Syck::Error, "Invalid !pairs entry: " + val.inspect
            end
        end
    else
        raise Syck::Error, "Invalid !pairs: " + val.inspect
    end
    self
end
            

Commenting is here to help enhance the documentation. For example, sample code, or clarification of the documentation.

If you are posting code samples in your comments, please wrap them in "<pre><code class="ruby" > ... </code></pre>" markup in order to get syntax highlighting.

If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.

If you wish to post a correction of the docs, please do so, but also file a bug report so that it can be corrected for the next release. Thank you.

blog comments powered by Disqus