Sha256: 7debfddb116b91eea2f45cec046f7f9717a88ec1c0c34c7283f2619f958d453f

Contents?: true

Size: 571 Bytes

Versions: 1

Compression:

Stored size: 571 Bytes

Contents

require 'uuidtools'

module DiskUUID
  REGEX_FORMAT = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/

  def self.clean_guid(guid)
    return nil if guid.nil?
    g = guid.to_s.downcase
    return nil if g.strip.empty?
    return g if g.length == 36 && g =~ REGEX_FORMAT
    g.delete!('^0-9a-f')
    g.sub!(/^([0-9a-f]{8})([0-9a-f]{4})([0-9a-f]{4})([0-9a-f]{4})([0-9a-f]{12})$/, '\1-\2-\3-\4-\5')
  end

  def self.new_guid
    UUIDTools::UUID.timestamp_create.to_s
  end

  def self.method_missing(m, *args)
    UUIDTools::UUID.send(m, *args)
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
virt_disk-0.0.1 lib/virt_disk/disk_uuid.rb