From 94e062518f1e0d3c3d724f242ef350b6b12ca910 Mon Sep 17 00:00:00 2001 From: Kent Sibilev Date: Thu, 2 Sep 2010 01:17:33 -0400 Subject: [PATCH] serializable_hash should not modify passed `options` parameter --- activemodel/lib/active_model/serialization.rb | 12 ++++++------ 1 files changed, 6 insertions(+), 6 deletions(-) diff --git a/activemodel/lib/active_model/serialization.rb b/activemodel/lib/active_model/serialization.rb index 542cff3..9a04472 100644 --- a/activemodel/lib/active_model/serialization.rb +++ b/activemodel/lib/active_model/serialization.rb @@ -67,14 +67,14 @@ module ActiveModel def serializable_hash(options = nil) options ||= {} - options[:only] = Array.wrap(options[:only]).map { |n| n.to_s } - options[:except] = Array.wrap(options[:except]).map { |n| n.to_s } + only = Array.wrap(options[:only]).map { |n| n.to_s } + except = Array.wrap(options[:except]).map { |n| n.to_s } attribute_names = attributes.keys.sort - if options[:only].any? - attribute_names &= options[:only] - elsif options[:except].any? - attribute_names -= options[:except] + if only.any? + attribute_names &= only + elsif except.any? + attribute_names -= except end method_names = Array.wrap(options[:methods]).inject([]) do |methods, name| -- 1.7.2.2