From fce68161a47656d2bb3619d3fbf3773b80e9c139 Mon Sep 17 00:00:00 2001
From: Jeremy Kemper <jeremy@bitsweat.net>
Date: Sat, 28 Mar 2009 23:48:27 -0700
Subject: Convert Range conversions extension module to class reopen

---
 activesupport/lib/active_support/core_ext/range.rb |  3 +-
 .../active_support/core_ext/range/conversions.rb   | 40 +++++++++-------------
 2 files changed, 19 insertions(+), 24 deletions(-)

(limited to 'activesupport')

diff --git a/activesupport/lib/active_support/core_ext/range.rb b/activesupport/lib/active_support/core_ext/range.rb
index 638fba0c6b..8879519e7c 100644
--- a/activesupport/lib/active_support/core_ext/range.rb
+++ b/activesupport/lib/active_support/core_ext/range.rb
@@ -1,4 +1,5 @@
+require 'active_support/core_ext/range/conversions'
 require 'active_support/core_ext/range/overlaps'
 
 require 'active_support/core_ext/util'
-ActiveSupport.core_ext Range, %w(conversions include_range blockless_step)
+ActiveSupport.core_ext Range, %w(include_range blockless_step)
diff --git a/activesupport/lib/active_support/core_ext/range/conversions.rb b/activesupport/lib/active_support/core_ext/range/conversions.rb
index 45b0826b62..11a7ff66de 100644
--- a/activesupport/lib/active_support/core_ext/range/conversions.rb
+++ b/activesupport/lib/active_support/core_ext/range/conversions.rb
@@ -1,27 +1,21 @@
-module ActiveSupport #:nodoc:
-  module CoreExtensions #:nodoc:
-    module Range #:nodoc:
-      # Getting ranges in different convenient string representations and other objects
-      module Conversions
-        RANGE_FORMATS = {
-          :db => Proc.new { |start, stop| "BETWEEN '#{start.to_s(:db)}' AND '#{stop.to_s(:db)}'" }
-        }
+class Range
+  RANGE_FORMATS = {
+    :db => Proc.new { |start, stop| "BETWEEN '#{start.to_s(:db)}' AND '#{stop.to_s(:db)}'" }
+  }
 
-        def self.included(base) #:nodoc:
-          base.class_eval do
-            alias_method :to_default_s, :to_s
-            alias_method :to_s, :to_formatted_s
-          end
-        end
-        # Gives a human readable format of the range.
-        #
-        # ==== Example
-        # 
-        #   [1..100].to_formatted_s # => "1..100"
-        def to_formatted_s(format = :default)
-          RANGE_FORMATS[format] ? RANGE_FORMATS[format].call(first, last) : to_default_s
-        end
-      end
+  # Gives a human readable format of the range.
+  #
+  # ==== Example
+  # 
+  #   [1..100].to_formatted_s # => "1..100"
+  def to_formatted_s(format = :default)
+    if formatter = RANGE_FORMATS[format]
+      formatter.call(first, last)
+    else
+      to_default_s
     end
   end
+
+  alias_method :to_default_s, :to_s
+  alias_method :to_s, :to_formatted_s
 end
-- 
cgit v1.2.3