Merged updates from trunk into stable branch
[feedcatcher.git] / vendor / rails / activesupport / lib / active_support / core_ext / array / wrapper.rb
diff --git a/vendor/rails/activesupport/lib/active_support/core_ext/array/wrapper.rb b/vendor/rails/activesupport/lib/active_support/core_ext/array/wrapper.rb
new file mode 100644 (file)
index 0000000..80b8f05
--- /dev/null
@@ -0,0 +1,24 @@
+module ActiveSupport #:nodoc:
+  module CoreExtensions #:nodoc:
+    module Array #:nodoc:
+      module Wrapper
+        # Wraps the object in an Array unless it's an Array.  Converts the
+        # object to an Array using #to_ary if it implements that.
+        def wrap(object)
+          case object
+          when nil
+            []
+          when self
+            object
+          else
+            if object.respond_to?(:to_ary)
+              object.to_ary
+            else
+              [object]
+            end
+          end
+        end
+      end
+    end
+  end
+end