summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorjeg2 <jeg2@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-12-25 05:14:04 +0000
committerjeg2 <jeg2@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-12-25 05:14:04 +0000
commit0d61163ed7fae71375240cca233133988de97b9b (patch)
tree26624021562311c0fa872fcaa8b514f44a5204cc /lib
parent9483ac0b326fbb63163819e77b28044023fb147f (diff)
downloadruby-0d61163ed7fae71375240cca233133988de97b9b.tar.gz
ruby-0d61163ed7fae71375240cca233133988de97b9b.tar.xz
ruby-0d61163ed7fae71375240cca233133988de97b9b.zip
* lib/csv.rb: Fixed test failures caused by changes to Ruby.
* test/csv/tc_serialization, test/csv/tc_csv_parsing, test/csv/tc_features: Fixed test failures caused by changes to Ruby. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14662 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib')
-rw-r--r--lib/csv.rb16
1 files changed, 10 insertions, 6 deletions
diff --git a/lib/csv.rb b/lib/csv.rb
index a37bc700b..b12142e50 100644
--- a/lib/csv.rb
+++ b/lib/csv.rb
@@ -187,10 +187,12 @@ class CSV
@header_row = header_row
# handle extra headers or fields
- @row = if headers.size > fields.size
- headers.zip(fields)
- else
- fields.zip(headers).map { |pair| pair.reverse }
+ 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)
end
end
@@ -1812,7 +1814,8 @@ class CSV
# see if we are converting headers or fields
converters = headers ? @header_converters : @converters
- fields.enum_for(:each_with_index).map do |field, index| # map_with_index
+ converted = Array.new
+ fields.each_with_index do |field, index|
converters.each do |converter|
field = if converter.arity == 1 # straight field converter
converter[field]
@@ -1822,8 +1825,9 @@ class CSV
end
break unless field.is_a? String # short-curcuit pipeline for speed
end
- field # return final state of each field, converted or original
+ converted << field # final state of each field, converted or original
end
+ converted
end
#