From 9fba5cbc7c8a7d650d6c272d02b1c83ced08b50b Mon Sep 17 00:00:00 2001 From: Luca Guidi Date: Sat, 13 Jun 2009 12:43:07 +0200 Subject: [PATCH] Bytes calculation speed up --- .../lib/active_support/core_ext/numeric/bytes.rb | 23 +++++++++++++------- 1 files changed, 15 insertions(+), 8 deletions(-) diff --git a/activesupport/lib/active_support/core_ext/numeric/bytes.rb b/activesupport/lib/active_support/core_ext/numeric/bytes.rb index 507d651..deea8e9 100644 --- a/activesupport/lib/active_support/core_ext/numeric/bytes.rb +++ b/activesupport/lib/active_support/core_ext/numeric/bytes.rb @@ -1,4 +1,11 @@ class Numeric + KILOBYTE = 1024 + MEGABYTE = KILOBYTE * 1024 + GIGABYTE = MEGABYTE * 1024 + TERABYTE = GIGABYTE * 1024 + PETABYTE = TERABYTE * 1024 + EXABYTE = PETABYTE * 1024 + # Enables the use of byte calculations and declarations, like 45.bytes + 2.6.megabytes def bytes self @@ -6,32 +13,32 @@ class Numeric alias :byte :bytes def kilobytes - self * 1024 + self * KILOBYTE end alias :kilobyte :kilobytes def megabytes - self * 1024.kilobytes + self * MEGABYTE end alias :megabyte :megabytes def gigabytes - self * 1024.megabytes + self * GIGABYTE end alias :gigabyte :gigabytes def terabytes - self * 1024.gigabytes + self * TERABYTE end alias :terabyte :terabytes - + def petabytes - self * 1024.terabytes + self * PETABYTE end alias :petabyte :petabytes - + def exabytes - self * 1024.petabytes + self * EXABYTE end alias :exabyte :exabytes end -- 1.5.4.5