Class: YAML::Pairs
- Inherits:
-
Array
show all
- Defined in:
- lib/yaml/types.rb
Overview
Builtin collection: !pairs
Class Method Summary
(collapse)
Instance Method Summary
(collapse)
Methods inherited from Array
#abbrev, #dclone, #pretty_print, #pretty_print_cycle, #quote, #shelljoin, #to_csv
Class Method Details
+ (Object) [](*vals)
155
156
157
158
159
160
161
|
# File 'lib/yaml/types.rb', line 155
def self.[]( *vals )
p = Pairs.new
0.step( vals.length - 1, 2 ) { |i|
p[vals[i]] = vals[i+1]
}
p
end
|
Instance Method Details
162
163
164
|
# File 'lib/yaml/types.rb', line 162
def []( k )
self.assoc( k ).to_a
end
|
- (Object) []=(k, val)
165
166
167
168
|
# File 'lib/yaml/types.rb', line 165
def []=( k, val )
self << [ k, val ]
val
end
|
- (Boolean) has_key?(k)
169
170
171
|
# File 'lib/yaml/types.rb', line 169
def has_key?( k )
self.assoc( k ) ? true : false
end
|
- (Boolean) is_complex_yaml?
172
173
174
|
# File 'lib/yaml/types.rb', line 172
def is_complex_yaml?
true
end
|
- (Object) to_yaml(opts = {})
175
176
177
178
179
180
181
182
183
|
# File 'lib/yaml/types.rb', line 175
def to_yaml( opts = {} )
YAML::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
|
- (Object) yaml_initialize(tag, val)
141
142
143
144
145
146
147
148
149
150
151
152
153
154
|
# File 'lib/yaml/types.rb', line 141
def yaml_initialize( tag, val )
if Array === val
val.each do |v|
if Hash === v
concat( v.to_a ) else
raise YAML::Error, "Invalid !pairs entry: " + val.inspect
end
end
else
raise YAML::Error, "Invalid !pairs: " + val.inspect
end
self
end
|