From: Ian Trudel Date: 2009-03-28T18:10:23+09:00 Subject: Onion 0.0.1 Released Onion 0.0.1 has been released. gem install Onion Homepage: http://rubyforge.org/projects/onion/ Blog{Ruby, Onion, etc..}: http://mecenia.blogspot.com/ Onion, or Array Onion, allows peeling an array like an onion. It shreds one layer after another, from the outer inwards the inner nested array, according to the given depth. Infinite depth (or greater than current nested array depth) is equivalent to Array#flatten. It's a tiny and modest gem... Vote if you would like Onion for Hashes as well. http://rubyforge.org/survey/survey.php?group_id=8071&survey_id=93 == Usage Examples [1, 2, 3, 4, 5].depth => 1 [1, [2, [3, 4], 5]].depth => 3 [1, [2, [3, [4, 5]]]].depth => 4 [1, [2, [3, [4, 5]]]].peel_until(1) => [1, 2, 3, 4, 5] [1, [2, [3, [4, 5]]]].peel_until(2) => [1, 2, 3, [4, 5]] [1, [2, [3, [4, 5]]]].peel_until(3) => [1, 2, [3, [4, 5]]] [1, [2, [3, [4, 5]]]].peel_until(4) => [1, [2, [3, [4, 5]]]] [1, [2, [3, 4], 5]].peel(1) => [1, 2, [3, 4], 5] [1, [2, [3, 4], 5]].peel(2) => [1, 2, 3, 4, 5] [1, [2, [3, [4, 5]]]].peel(1) => [1, 2, [3, [4, 5]]] [1, [2, [3, [4, 5]]]].peel(2) => [1, 2, 3, [4, 5]] [1, [2, [3, [4, 5]]]].peel(3) => [1, 2, 3, 4, 5] -- Posted via http://www.ruby-forum.com/.