Sha256: 56119f9a385903090adefe916643566dab3a10ee9bd599673c5ee293b338b6a7

Contents?: true

Size: 788 Bytes

Versions: 2

Compression:

Stored size: 788 Bytes

Contents

require 'socket'

def compute_sku(vendor, serial, board_serial)
  # Sanitize params
  strip_pattern = /[^-^:\p{Alnum}]/
  serial        = (serial || '').gsub(strip_pattern, '')
  vendor        = (vendor || '').gsub(strip_pattern, '')
  board_serial  = (board_serial || '').gsub(strip_pattern, '')

  serial = board_serial unless board_serial.empty?

  case vendor
  when 'DellInc'
    sku = 'DEL'
  when 'Supermicro'
    sku = 'SPM'
  else
    sku = 'UKN' # unknown manufacturer
  end

  sku = "#{sku}-#{serial}"
  sku
end

def clean_params(params)
  params.delete_if { |x, _| x == 'splat' || x == 'captures' }
  params
end

def my_ip
  Socket.ip_address_list.find{|x| x.ipv4? && !x.ipv4_loopback?}.ip_address
end

def discover_domain
  Socket.gethostname.split('.')[1..-1].join('.')
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
zygote-0.0.1 lib/zygote/util.rb
zygote-0.0.0 lib/util.rb