class TupleList
Attributes
keys[R]
Public Class Methods
new(required_keys, args = {})
click to toggle source
# File lib/tuplelist.rb, line 6 def initialize(required_keys, args = {}) @keys = required_keys @current_tuple = {} @tuple_list = [] @ignore = (args.delete :ignore) || false end
Public Instance Methods
[]=(key, value)
click to toggle source
# File lib/tuplelist.rb, line 14 def []=(key, value) if @keys.include? key @current_tuple[key] = value else raise "Unspecified key '#{key}' entered" unless @ignore end end
each() { |values_at(*keys)| ... }
click to toggle source
# File lib/tuplelist.rb, line 28 def each @tuple_list.each do |tuple_hash| yield tuple_hash.values_at(*@keys) end end
next()
click to toggle source
# File lib/tuplelist.rb, line 22 def next raise "No keys for #{@current_tuple.keys | @keys} specified" unless @current_tuple.length == @keys.length @tuple_list << @current_tuple @current_tuple = {} end