Builtin collection: !omap
# File syck/lib/syck/types.rb, line 107
def []( k )
self.assoc( k ).to_a[1]
end
# File syck/lib/syck/types.rb, line 110
def []=( k, *rest )
val, set = rest.reverse
if ( tmp = self.assoc( k ) ) and not set
tmp[1] = val
else
self << [ k, val ]
end
val
end
# File syck/lib/syck/types.rb, line 119
def has_key?( k )
self.assoc( k ) ? true : false
end
# File syck/lib/syck/types.rb, line 122
def is_complex_yaml?
true
end
# File syck/lib/syck/types.rb, line 125
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
# File syck/lib/syck/types.rb, line 86
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 !omap entry: " + val.inspect
end
end
else
raise Syck::Error, "Invalid !omap: " + 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.