Module: EasyType::Mungers::Size
- Defined in:
- lib/easy_type/mungers.rb
Overview
The Size munger, munges a specified value to an Integer.
rubocop: disable Metrics/AbcSize rubocop: disable Metrics/CyclomaticComplexity
Instance Method Summary collapse
Instance Method Details
#unsafe_munge(size) ⇒ Object
41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/easy_type/mungers.rb', line 41 def unsafe_munge(size) return super(size) if size.to_s == 'absent' return size if size.is_a?(Numeric) case size when /^\d+(K|k)$/ then size.chop.to_i * 1024 when /^\d+(M|m)$/ then size.chop.to_i * 1024 * 1024 when /^\d+(G|g)$/ then size.chop.to_i * 1024 * 1024 * 1024 when /^unlimited$/i then 'unlimited' when /^\d+$/ then size.to_i else raise('invalid size') end end |