aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2005-10-26 13:10:03 +0000
committerDavid Heinemeier Hansson <david@loudthinking.com>2005-10-26 13:10:03 +0000
commit0d52abfd0ea42ba8f9bac996378087be42b93917 (patch)
tree645aaace243f83b00c0bc679534113d68126e273
parentfabf34848eda7656f7a7f79647167e0fdd16f682 (diff)
downloadrails-0d52abfd0ea42ba8f9bac996378087be42b93917.tar.gz
rails-0d52abfd0ea42ba8f9bac996378087be42b93917.tar.bz2
rails-0d52abfd0ea42ba8f9bac996378087be42b93917.zip
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
-rw-r--r--activesupport/CHANGELOG2
-rw-r--r--activesupport/lib/active_support/core_ext/numeric/bytes.rb11
-rw-r--r--activesupport/test/core_ext/numeric_ext_test.rb4
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|