diff options
author | Jeremy Kemper <jeremy@bitsweat.net> | 2009-03-21 04:27:13 -0700 |
---|---|---|
committer | Jeremy Kemper <jeremy@bitsweat.net> | 2009-03-21 04:39:53 -0700 |
commit | b8d59b7f845b6de8b4359900f228efc13e7d1ee5 (patch) | |
tree | 723ba0b454d823a9aff1c934176d10cee0f9f040 /activesupport/lib/active_support/core_ext/numeric | |
parent | d8cb94c75cfad1d1ffe23eaa9040655da56e6e4d (diff) | |
download | rails-b8d59b7f845b6de8b4359900f228efc13e7d1ee5.tar.gz rails-b8d59b7f845b6de8b4359900f228efc13e7d1ee5.tar.bz2 rails-b8d59b7f845b6de8b4359900f228efc13e7d1ee5.zip |
Convert Numeric extension module to a class reopen
Diffstat (limited to 'activesupport/lib/active_support/core_ext/numeric')
-rw-r--r-- | activesupport/lib/active_support/core_ext/numeric/conversions.rb | 30 |
1 files changed, 13 insertions, 17 deletions
diff --git a/activesupport/lib/active_support/core_ext/numeric/conversions.rb b/activesupport/lib/active_support/core_ext/numeric/conversions.rb index e652ae5ca8..a16a8e7c09 100644 --- a/activesupport/lib/active_support/core_ext/numeric/conversions.rb +++ b/activesupport/lib/active_support/core_ext/numeric/conversions.rb @@ -1,19 +1,15 @@ -module ActiveSupport #:nodoc: - module CoreExtensions #:nodoc: - module Numeric #:nodoc: - module Conversions - # Assumes self represents an offset from UTC in seconds (as returned from Time#utc_offset) - # and turns this into an +HH:MM formatted string. Example: - # - # -21_600.to_utc_offset_s # => "-06:00" - def to_utc_offset_s(colon=true) - seconds = self - sign = (seconds < 0 ? -1 : 1) - hours = seconds.abs / 3600 - minutes = (seconds.abs % 3600) / 60 - "%+03d%s%02d" % [ hours * sign, colon ? ":" : "", minutes ] - end - end - end +class Numeric + UTC_OFFSET_WITH_COLON = '%+03d:%02d' + UTC_OFFSET_WITHOUT_COLON = UTC_OFFSET_WITH_COLON.sub(':', '') + + # Assumes self represents an offset from UTC in seconds (as returned from Time#utc_offset) + # and turns this into an +HH:MM formatted string. Example: + # + # -21_600.to_utc_offset_s # => "-06:00" + def to_utc_offset_s(colon = true) + format = colon ? UTC_OFFSET_WITH_COLON : UTC_OFFSET_WITHOUT_COLON + hours = self / 3600 + minutes = (abs % 3600) / 60 + format % [hours, minutes] end end |