Class: PseudoHash
Instance Attribute Summary
Attributes included from Fieldable
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(keys = [], values = []) ⇒ PseudoHash
constructor
A new instance of PseudoHash.
- #to_yaml(opts = {}) ⇒ Object
Methods inherited from Array
Methods included from Fieldable
Constructor Details
#initialize(keys = [], values = []) ⇒ PseudoHash
Returns a new instance of PseudoHash.
423 424 425 426 |
# File 'lib/arrayfields.rb', line 423 def initialize keys = [], values = [] self.fields = keys self.replace values end |
Class Method Details
.[](*pairs) ⇒ Object
412 413 414 415 416 417 418 419 420 421 |
# File 'lib/arrayfields.rb', line 412 def [](*pairs) pairs.flatten! raise ArgumentError, "argument must be key/val pairs" unless (pairs.size % 2 == 0 and pairs.size >= 2) keys, values = [], [] while((k = pairs.shift) and (v = pairs.shift)) keys << k and values << v end new keys, values end |
Instance Method Details
#to_yaml(opts = {}) ⇒ Object
427 428 429 430 431 432 433 |
# File 'lib/arrayfields.rb', line 427 def to_yaml opts = {} YAML::quick_emit object_id, opts do |out| out.map taguri, to_yaml_style do |map| each_pair{|f,v| map.add f,v} end end end |