Class | YAML::Pairs
In: | yaml/types.rb
Parent: | ::Array

Builtin collection: !pairs

### Methods

[] [] []= has_key? is_complex_yaml? to_yaml yaml_initialize

### Public Class methods

[]( *vals )

[Source]

    # File yaml/types.rb, line 157
            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 )

[Source]

    # File yaml/types.rb, line 164
            def []( k )
                self.assoc( k ).to_a
            end

[]=( k, val )

[Source]

    # File yaml/types.rb, line 167
            def []=( k, val )
                self << [ k, val ]
                val
            end

has_key?( k )

[Source]

    # File yaml/types.rb, line 171
            def has_key?( k )
                self.assoc( k ) ? true : false
            end

is_complex_yaml?()

[Source]

    # File yaml/types.rb, line 174
            def is_complex_yaml?
                true
            end

to_yaml( opts = {} )

[Source]

    # File yaml/types.rb, line 177
            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 )

[Source]

    # File yaml/types.rb, line 143
            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 !pairs entry: " + val.inspect
                        end
                    end
                else
                    raise YAML::Error, "Invalid !pairs: " + val.inspect
                end
                self
            end

[Validate]