From 24a85e0ee50a51631a065825134a32e09685a795 Mon Sep 17 00:00:00 2001
From: Xavier Noria <fxn@hashref.com>
Date: Sun, 25 Oct 2009 20:21:38 +0100
Subject: AS guide: documents the extension to Range#to_s

---
 .../guides/source/active_support_core_extensions.textile   | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

(limited to 'railties/guides/source/active_support_core_extensions.textile')

diff --git a/railties/guides/source/active_support_core_extensions.textile b/railties/guides/source/active_support_core_extensions.textile
index e137eb436f..6bd1e3acbb 100644
--- a/railties/guides/source/active_support_core_extensions.textile
+++ b/railties/guides/source/active_support_core_extensions.textile
@@ -1625,6 +1625,20 @@ This method is also used in the routes code for building regexps.
 
 h3. Extensions to +Range+
 
+h4. +to_s+
+
+Active Support extends the method +Range#to_s+ so that it understands an optional format argument. As of this writing the only supported non-default format is +:db+:
+
+<ruby>
+(Date.today..Date.tomorrow).to_s
+# => "2009-10-25..2009-10-26"
+
+(Date.today..Date.tomorrow).to_s(:db)
+# => "BETWEEN '2009-10-25' AND '2009-10-26'"
+</ruby>
+
+As the example depicts, the +:db+ format generates a +BETWEEN+ SQL clause. That is used by Active Record in its support for range values in conditions.
+
 h4. +step+
 
 Active Support extends the method +Range#step+ so that it can be invoked without a block:
-- 
cgit v1.2.3

