2007-01-22 14:43:50 +01:00
|
|
|
module ActiveSupport #:nodoc:
|
|
|
|
module CoreExtensions #:nodoc:
|
|
|
|
module Numeric #:nodoc:
|
|
|
|
# Enables the use of byte calculations and declarations, like 45.bytes + 2.6.megabytes
|
|
|
|
module Bytes
|
2009-08-04 17:16:03 +02:00
|
|
|
KILOBYTE = 1024
|
|
|
|
MEGABYTE = KILOBYTE * 1024
|
|
|
|
GIGABYTE = MEGABYTE * 1024
|
|
|
|
TERABYTE = GIGABYTE * 1024
|
|
|
|
PETABYTE = TERABYTE * 1024
|
|
|
|
EXABYTE = PETABYTE * 1024
|
|
|
|
|
2007-01-22 14:43:50 +01:00
|
|
|
def bytes
|
|
|
|
self
|
|
|
|
end
|
|
|
|
alias :byte :bytes
|
|
|
|
|
|
|
|
def kilobytes
|
2009-08-04 17:16:03 +02:00
|
|
|
self * KILOBYTE
|
2007-01-22 14:43:50 +01:00
|
|
|
end
|
|
|
|
alias :kilobyte :kilobytes
|
|
|
|
|
|
|
|
def megabytes
|
2009-08-04 17:16:03 +02:00
|
|
|
self * MEGABYTE
|
2007-01-22 14:43:50 +01:00
|
|
|
end
|
|
|
|
alias :megabyte :megabytes
|
|
|
|
|
|
|
|
def gigabytes
|
2009-08-04 17:16:03 +02:00
|
|
|
self * GIGABYTE
|
2007-01-22 14:43:50 +01:00
|
|
|
end
|
|
|
|
alias :gigabyte :gigabytes
|
|
|
|
|
|
|
|
def terabytes
|
2009-08-04 17:16:03 +02:00
|
|
|
self * TERABYTE
|
2007-01-22 14:43:50 +01:00
|
|
|
end
|
|
|
|
alias :terabyte :terabytes
|
2009-08-04 17:16:03 +02:00
|
|
|
|
2007-01-22 14:43:50 +01:00
|
|
|
def petabytes
|
2009-08-04 17:16:03 +02:00
|
|
|
self * PETABYTE
|
2007-01-22 14:43:50 +01:00
|
|
|
end
|
|
|
|
alias :petabyte :petabytes
|
2009-08-04 17:16:03 +02:00
|
|
|
|
2007-01-22 14:43:50 +01:00
|
|
|
def exabytes
|
2009-08-04 17:16:03 +02:00
|
|
|
self * EXABYTE
|
2007-01-22 14:43:50 +01:00
|
|
|
end
|
|
|
|
alias :exabyte :exabytes
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|