Class: Syck::Omap
Overview
Builtin collection: !omap
Class Method Summary collapse
Instance Method Summary collapse
- #[](k) ⇒ Object
- #[]=(k, *rest) ⇒ Object
- #has_key?(k) ⇒ Boolean
- #is_complex_yaml? ⇒ Boolean
- #to_yaml(opts = {}) ⇒ Object
- #yaml_initialize(tag, val) ⇒ Object
Class Method Details
Instance Method Details
#[](k) ⇒ Object
107 108 109 |
# File 'lib/syck/types.rb', line 107 def []( k ) self.assoc( k ).to_a[1] end |
#[]=(k, *rest) ⇒ Object
110 111 112 113 114 115 116 117 118 |
# File '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 |
#has_key?(k) ⇒ Boolean
119 120 121 |
# File 'lib/syck/types.rb', line 119 def has_key?( k ) self.assoc( k ) ? true : false end |
#is_complex_yaml? ⇒ Boolean
122 123 124 |
# File 'lib/syck/types.rb', line 122 def is_complex_yaml? true end |
#to_yaml(opts = {}) ⇒ Object
125 126 127 128 129 130 131 132 133 |
# File '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 |
#yaml_initialize(tag, val) ⇒ Object
86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
# File '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 |