diff options
author | Jeremy Kemper <jeremy@bitsweat.net> | 2007-09-29 21:27:29 +0000 |
---|---|---|
committer | Jeremy Kemper <jeremy@bitsweat.net> | 2007-09-29 21:27:29 +0000 |
commit | 8f68804fba5ac9e3c8ed0b67ef384c888b03a56b (patch) | |
tree | 7dd89b11362f88f54cf1915ae1f73144ff3bf693 | |
parent | 826f0bd42f7406571923a4889ad895dadae59d4f (diff) | |
download | rails-8f68804fba5ac9e3c8ed0b67ef384c888b03a56b.tar.gz rails-8f68804fba5ac9e3c8ed0b67ef384c888b03a56b.tar.bz2 rails-8f68804fba5ac9e3c8ed0b67ef384c888b03a56b.zip |
JSON decoding Ruby 1.9 compat. Mark a section that's unnecessarily slow.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7678 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
-rw-r--r-- | activesupport/lib/active_support/json/decoding.rb | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/activesupport/lib/active_support/json/decoding.rb b/activesupport/lib/active_support/json/decoding.rb index b6370ddb0e..cb5f2a222a 100644 --- a/activesupport/lib/active_support/json/decoding.rb +++ b/activesupport/lib/active_support/json/decoding.rb @@ -45,11 +45,12 @@ module ActiveSupport if marks.empty? json else - ranges = ([0] + marks.map(&:succ)).zip(marks + [json.length]) - output = ranges.collect! { |(left, right)| json[left..right] }.join(" ") - times.each do |pos| - output[pos-1] = ' ' - end + # FIXME: multiple slow enumerations + output = ([0] + marks.map(&:succ)). + zip(marks + [json.length]). + map { |left, right| json[left..right] }. + join(" ") + times.each { |pos| output[pos-1] = ' ' } output end end |