aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib
diff options
context:
space:
mode:
authorJeremy Kemper <jeremy@bitsweat.net>2007-09-29 21:27:29 +0000
committerJeremy Kemper <jeremy@bitsweat.net>2007-09-29 21:27:29 +0000
commit8f68804fba5ac9e3c8ed0b67ef384c888b03a56b (patch)
tree7dd89b11362f88f54cf1915ae1f73144ff3bf693 /activesupport/lib
parent826f0bd42f7406571923a4889ad895dadae59d4f (diff)
downloadrails-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
Diffstat (limited to 'activesupport/lib')
-rw-r--r--activesupport/lib/active_support/json/decoding.rb11
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