From 0d52abfd0ea42ba8f9bac996378087be42b93917 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Wed, 26 Oct 2005 13:10:03 +0000 Subject: Added petabytes and exebytes to numeric extensions (closes #2397) [timct@mac.com] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2746 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- activesupport/CHANGELOG | 2 ++ activesupport/lib/active_support/core_ext/numeric/bytes.rb | 11 +++++++++++ activesupport/test/core_ext/numeric_ext_test.rb | 4 +++- 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/activesupport/CHANGELOG b/activesupport/CHANGELOG index b1c1f12d29..a26598ffc2 100644 --- a/activesupport/CHANGELOG +++ b/activesupport/CHANGELOG @@ -1,5 +1,7 @@ *SVN* +* Added petabytes and exebytes to numeric extensions #2397 [timct@mac.com] + * Added Time#end_of_month to accompany Time#beginning_of_month #2514 [Jens-Christian Fischer] diff --git a/activesupport/lib/active_support/core_ext/numeric/bytes.rb b/activesupport/lib/active_support/core_ext/numeric/bytes.rb index 98e5e13abb..56477673a3 100644 --- a/activesupport/lib/active_support/core_ext/numeric/bytes.rb +++ b/activesupport/lib/active_support/core_ext/numeric/bytes.rb @@ -27,6 +27,17 @@ module ActiveSupport #:nodoc: self * 1024.gigabytes end alias :terabyte :terabytes + + def petabytes + self * 1024.terabytes + end + alias :petabyte :petabytes + + def exabytes + self * 1024.petabytes + end + alias :exabyte :exabytes + end end end diff --git a/activesupport/test/core_ext/numeric_ext_test.rb b/activesupport/test/core_ext/numeric_ext_test.rb index 770c82c872..828276d46a 100644 --- a/activesupport/test/core_ext/numeric_ext_test.rb +++ b/activesupport/test/core_ext/numeric_ext_test.rb @@ -46,7 +46,9 @@ class NumericExtSizeTest < Test::Unit::TestCase 1.kilobyte ** 4 => 1.terabyte, 1024.kilobytes + 2.megabytes => 3.megabytes, 2.gigabytes / 4 => 512.megabytes, - 256.megabytes * 20 + 5.gigabytes => 10.gigabytes + 256.megabytes * 20 + 5.gigabytes => 10.gigabytes, + 1.kilobyte ** 5 => 1.petabyte, + 1.kilobyte ** 6 => 1.exabyte } relationships.each do |left, right| -- cgit v1.2.3