diff options
author | Jeremy Kemper <jeremy@bitsweat.net> | 2009-03-28 23:48:27 -0700 |
---|---|---|
committer | Jeremy Kemper <jeremy@bitsweat.net> | 2009-03-28 23:48:27 -0700 |
commit | fce68161a47656d2bb3619d3fbf3773b80e9c139 (patch) | |
tree | ef34bb896dab889bfe7539a8690134cdd2d8cf47 /activesupport/lib/active_support/core_ext | |
parent | 5d5cde4b02a91d23fcac3c381d14e8d2716717ed (diff) | |
download | rails-fce68161a47656d2bb3619d3fbf3773b80e9c139.tar.gz rails-fce68161a47656d2bb3619d3fbf3773b80e9c139.tar.bz2 rails-fce68161a47656d2bb3619d3fbf3773b80e9c139.zip |
Convert Range conversions extension module to class reopen
Diffstat (limited to 'activesupport/lib/active_support/core_ext')
-rw-r--r-- | activesupport/lib/active_support/core_ext/range.rb | 3 | ||||
-rw-r--r-- | activesupport/lib/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 |