From d8ad1e28e9401abec56288c4573dad01963bd2f3 Mon Sep 17 00:00:00 2001 From: jeg2 Date: Wed, 26 Dec 2007 04:56:03 +0000 Subject: * lib/csv.rb: Cleaned up some code with Ruby 1.9 idioms. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14715 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/csv.rb | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) (limited to 'lib') diff --git a/lib/csv.rb b/lib/csv.rb index b12142e50a..f488141eb2 100644 --- a/lib/csv.rb +++ b/lib/csv.rb @@ -187,12 +187,10 @@ class CSV @header_row = header_row # handle extra headers or fields - larger, smaller, transform = headers.size > fields.size ? - [headers, fields, :to_a] : - [fields, headers, :reverse] - @row = Array.new - larger.each_with_index do |e, i| - @row << [e, smaller[i]].send(transform) + @row = if headers.size > fields.size + headers.each_with_index.map { |header, i| [header, fields[i]] } + else + fields.each_with_index.map { |field, i| [headers[i], field] } end end @@ -1814,8 +1812,7 @@ class CSV # see if we are converting headers or fields converters = headers ? @header_converters : @converters - converted = Array.new - fields.each_with_index do |field, index| + fields.each_with_index.map do |field, index| # map_with_index converters.each do |converter| field = if converter.arity == 1 # straight field converter converter[field] @@ -1825,9 +1822,8 @@ class CSV end break unless field.is_a? String # short-curcuit pipeline for speed end - converted << field # final state of each field, converted or original + field # final state of each field, converted or original end - converted end # -- cgit v1.2.3