Class: Syck::Pairs
Overview
Builtin collection: !pairs
Class Method Summary collapse
Instance Method Summary collapse
- #[](k) ⇒ Object
- #[]=(k, val) ⇒ 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
162 163 164 |
# File 'lib/syck/types.rb', line 162 def []( k ) self.assoc( k ).to_a end |
#[]=(k, val) ⇒ Object
165 166 167 168 |
# File 'lib/syck/types.rb', line 165 def []=( k, val ) self << [ k, val ] val end |
#has_key?(k) ⇒ Boolean
169 170 171 |
# File 'lib/syck/types.rb', line 169 def has_key?( k ) self.assoc( k ) ? true : false end |
#is_complex_yaml? ⇒ Boolean
172 173 174 |
# File 'lib/syck/types.rb', line 172 def is_complex_yaml? true end |
#to_yaml(opts = {}) ⇒ Object
175 176 177 178 179 180 181 182 183 |
# File 'lib/syck/types.rb', line 175 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
141 142 143 144 145 146 147 148 149 150 151 152 153 154 |
# File 'lib/syck/types.rb', line 141 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 |