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