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