Class: YAML::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
109 110 111 |
# File 'lib/yaml/types.rb', line 109 def []( k ) self.assoc( k ).to_a[1] end |
#[]=(k, *rest) ⇒ Object
112 113 114 115 116 117 118 119 120 |
# File 'lib/yaml/types.rb', line 112 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
121 122 123 |
# File 'lib/yaml/types.rb', line 121 def has_key?( k ) self.assoc( k ) ? true : false end |
#is_complex_yaml? ⇒ Boolean
124 125 126 |
# File 'lib/yaml/types.rb', line 124 def is_complex_yaml? true end |
#to_yaml(opts = {}) ⇒ Object
127 128 129 130 131 132 133 134 135 |
# File 'lib/yaml/types.rb', line 127 def to_yaml( opts = {} ) YAML::quick_emit( self.object_id, 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
88 89 90 91 92 93 94 95 96 97 98 99 100 101 |
# File 'lib/yaml/types.rb', line 88 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 YAML::Error, "Invalid !omap entry: " + val.inspect end end else raise YAML::Error, "Invalid !omap: " + val.inspect end self end |