aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib
diff options
context:
space:
mode:
authorKasper Timm Hansen <kaspth@gmail.com>2017-01-01 13:41:24 +0100
committerKasper Timm Hansen <kaspth@gmail.com>2017-01-01 13:41:24 +0100
commitc6c3b130e1123a1a6220b893bd392a954c7f569f (patch)
tree2bdc6a1089173854e75815acef4bd4b2114f0256 /activesupport/lib
parent5053d5251fb8c03e666f1f8b765464ec33e3066e (diff)
downloadrails-c6c3b130e1123a1a6220b893bd392a954c7f569f.tar.gz
rails-c6c3b130e1123a1a6220b893bd392a954c7f569f.tar.bz2
rails-c6c3b130e1123a1a6220b893bd392a954c7f569f.zip
Fix Symbol#duplicable? for Ruby 2.4.0.
Ruby 2.4.0 has trouble duplicating certain symbols created from strings via `to_sym`. It didn't happen with `'symbol'.to_sym.dup` for some reason, but works fine with the longer string sample. Once a newer Ruby version with a fix is released we'll get have a failing test case we can fix. Ref: #27532
Diffstat (limited to 'activesupport/lib')
-rw-r--r--activesupport/lib/active_support/core_ext/object/duplicable.rb3
1 files changed, 2 insertions, 1 deletions
diff --git a/activesupport/lib/active_support/core_ext/object/duplicable.rb b/activesupport/lib/active_support/core_ext/object/duplicable.rb
index c671d34673..9485e74816 100644
--- a/activesupport/lib/active_support/core_ext/object/duplicable.rb
+++ b/activesupport/lib/active_support/core_ext/object/duplicable.rb
@@ -73,7 +73,8 @@ end
class Symbol
begin
- :symbol.dup
+ :symbol.dup # Ruby 2.4.x.
+ 'symbol_from_string'.to_sym.dup # Some symbols can't `dup` in Ruby 2.4.0.
rescue TypeError
# Symbols are not duplicable: