I have an object Results that contains an array of result objects along with some cached statistics about the objects in the array. I'd like the Results object to be able to behave like an array. My first cut at this was to add methods like this def <<(val) @result_array << val end This feels very c-like and I know Ruby has better way. I'd also like to be able to do this Results.each do |result| r