In Files

  • yaml/types.rb

YAML::Pairs

Builtin collection: !pairs

Public Class Methods

[]( *vals ) click to toggle source
 
               # File yaml/types.rb, line 154
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 yaml/types.rb, line 161
def []( k )
    self.assoc( k ).to_a
end
            
[]=( k, val ) click to toggle source
 
               # File yaml/types.rb, line 164
def []=( k, val )
    self << [ k, val ] 
    val
end
            
has_key?( k ) click to toggle source
 
               # File yaml/types.rb, line 168
def has_key?( k )
    self.assoc( k ) ? true : false
end
            
is_complex_yaml?() click to toggle source
 
               # File yaml/types.rb, line 171
def is_complex_yaml?
    true
end
            
to_yaml( opts = {} ) click to toggle source
 
               # File yaml/types.rb, line 174
def to_yaml( opts = {} )
    YAML::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 yaml/types.rb, line 140
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 YAML::Error, "Invalid !pairs entry: " + val.inspect
            end
        end
    else
        raise YAML::Error, "Invalid !pairs: " + val.inspect
    end
    self
end
            

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

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 bug report so that it can be corrected for the next release. Thank you.

If you want to help improve the Ruby documentation, please visit Documenting-ruby.org.

blog comments powered by Disqus