From 67442cb40d0850f42ff66a66e2c2b3f5cf5feb07 Mon Sep 17 00:00:00 2001 From: Michael Koziarski Date: Sun, 2 Dec 2007 00:28:30 +0000 Subject: Fix potential extra space in Array#to_sentence. Closes #10327 [kamal] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8251 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- .../lib/active_support/core_ext/array/conversions.rb | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'activesupport/lib/active_support/core_ext') diff --git a/activesupport/lib/active_support/core_ext/array/conversions.rb b/activesupport/lib/active_support/core_ext/array/conversions.rb index 56c7cf1d71..8f72294838 100644 --- a/activesupport/lib/active_support/core_ext/array/conversions.rb +++ b/activesupport/lib/active_support/core_ext/array/conversions.rb @@ -10,16 +10,17 @@ module ActiveSupport #:nodoc: def to_sentence(options = {}) options.assert_valid_keys(:connector, :skip_last_comma) options.reverse_merge! :connector => 'and', :skip_last_comma => false - + options[:connector] = "#{options[:connector]} " unless options[:connector].nil? || options[:connector].strip == '' + case length - when 0 - "" + when 0 + "" when 1 self[0] when 2 - "#{self[0]} #{options[:connector]} #{self[1]}" + "#{self[0]} #{options[:connector]}#{self[1]}" else - "#{self[0...-1].join(', ')}#{options[:skip_last_comma] ? '' : ','} #{options[:connector]} #{self[-1]}" + "#{self[0...-1].join(', ')}#{options[:skip_last_comma] ? '' : ','} #{options[:connector]}#{self[-1]}" end end @@ -47,7 +48,7 @@ module ActiveSupport #:nodoc: to_default_s end end - + def to_xml(options = {}) raise "Not all elements respond to to_xml" unless all? { |e| e.respond_to? :to_xml } -- cgit v1.2.3