diff options
-rw-r--r-- | activesupport/CHANGELOG | 2 | ||||
-rw-r--r-- | activesupport/lib/active_support/core_ext/numeric/bytes.rb | 11 | ||||
-rw-r--r-- | activesupport/test/core_ext/numeric_ext_test.rb | 4 |
3 files changed, 16 insertions, 1 deletions
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| |