Module: ForemanDocker::Utility

Defined in:
app/services/foreman_docker/utility.rb

Class Method Summary collapse

Class Method Details

.parse_memory(mem) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'app/services/foreman_docker/utility.rb', line 3

def self.parse_memory(mem)
  return 0 unless mem.present?
  mem.gsub!(/\s/, '')
  return mem.to_i if mem[/^\d*$/] # Return if size is without unit
  size, unit = mem.match(/^(\d+)([a-zA-Z])$/)[1, 2]
  case unit.downcase
  when 'g'
    size.to_i * 1024 * 1024 * 1024
  when 'm'
    size.to_i * 1024 * 1024
  when 'k'
    size.to_i * 1024
  else
    fail "Unknown size unit '#{unit}'"
  end
end