diff options
author | Jeremy Kemper <jeremy@bitsweat.net> | 2007-10-15 07:11:25 +0000 |
---|---|---|
committer | Jeremy Kemper <jeremy@bitsweat.net> | 2007-10-15 07:11:25 +0000 |
commit | bb4ebaa858c3c73888ffb4639f6854b78955f9ed (patch) | |
tree | cfa5bb228194f14cc03b9aff5f830fd5b82abfc7 /activesupport/lib | |
parent | fe234a1538dd96c6e0d3ca44b651fcc7abc4663e (diff) | |
download | rails-bb4ebaa858c3c73888ffb4639f6854b78955f9ed.tar.gz rails-bb4ebaa858c3c73888ffb4639f6854b78955f9ed.tar.bz2 rails-bb4ebaa858c3c73888ffb4639f6854b78955f9ed.zip |
object.duplicable? returns true if object.dup is safe. False for nil, true, false, symbols, and numbers; true otherwise. References #9333.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7906 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'activesupport/lib')
-rw-r--r-- | activesupport/lib/active_support/core_ext/duplicable.rb | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/activesupport/lib/active_support/core_ext/duplicable.rb b/activesupport/lib/active_support/core_ext/duplicable.rb new file mode 100644 index 0000000000..adbbfd8c60 --- /dev/null +++ b/activesupport/lib/active_support/core_ext/duplicable.rb @@ -0,0 +1,37 @@ +class Object + # Can you safely .dup this object? + # False for nil, false, true, symbols, and numbers; true otherwise. + def duplicable? + true + end +end + +class NilClass #:nodoc: + def duplicable? + false + end +end + +class FalseClass #:nodoc: + def duplicable? + false + end +end + +class TrueClass #:nodoc: + def duplicable? + false + end +end + +class Symbol #:nodoc: + def duplicable? + false + end +end + +class Numeric #:nodoc: + def duplicable? + false + end +end |