Module: Vault::Product

Defined in:
lib/vault-tools/product.rb

Class Method Summary collapse

Class Method Details

.name_to_uuid(name) ⇒ String

Convert a product name into a v5 UUID.

Parameters:

  • name (String)

    A product name.

Returns:

  • (String)

    A v5 UUID that uniquely represents the product.

Raises:

  • (RuntimeError)

    Raised if the product name is empty or contains illegal characters. A product name may only contain 'a-z', '0-9' and ':' characters.



12
13
14
15
16
17
18
# File 'lib/vault-tools/product.rb', line 12

def self.name_to_uuid(name)
  unless name =~ /[a-z,0-9,:]+/
    raise "Product name empty or contains illegal characters."
  end
  url = "https://vault.heroku.com/products/#{name}"
  UUIDTools::UUID.sha1_create(UUIDTools::UUID_URL_NAMESPACE, url).to_s
end