class Filesize
def from(arg)
-
(Filesize)
-
Raises:
-
(ArgumentError)
- Raised if the file size cannot be parsed properly.
Parameters:
-
arg
(String
) -- A file size to parse.
def from(arg) parts = parse(arg) prefix = parts[:prefix] size = parts[:size] type = parts[:type] raise ArgumentError, "Unparseable filesize: #{arg}" unless type offset = (type[:prefixes].map { |s| s[0].chr.downcase }.index(prefix.downcase) || -1) + 1 new(size * (type[:multiplier] ** (offset)), type) end