From fce68161a47656d2bb3619d3fbf3773b80e9c139 Mon Sep 17 00:00:00 2001 From: Jeremy Kemper 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(-) 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