Sha256: 1e3a2993fd3acec8cf75ba0bdf3988599ee04db8e46f6241ef8b8f20401f5dfd

Contents?: true

Size: 852 Bytes

Versions: 64

Compression:

Stored size: 852 Bytes

Contents

require 'uuidtools'

module Vault
  module HID
    USER_HID_REGEX = /\Auser(\d+)@heroku.com/
    APP_HID_REGEX  = /\Aapp(\d+)@heroku.com/

    # Convert a Heroku app ID or user ID into a v5 UUID.
    #
    # @param heroku_id [String] A Heroku app ID or user ID.
    # @raise [ArgumentError] Raised if a malformed Heroku ID is provided.
    # @return [String] A v5 UUID that uniquely represents the app.
    def self.hid_to_uuid(heroku_id)
      case heroku_id
      when /^user/
        User.hid_to_uuid(heroku_id)
      when /^app/
        App.hid_to_uuid(heroku_id)
      else
        raise ArgumentError, "#{heroku_id} is not a valid Heroku app or " +
                             "user ID."
      end
    end

    def self.hid?(string)
      case string
      when APP_HID_REGEX; :app;
      when USER_HID_REGEX; :user;
      end
    end
  end
end

Version data entries

64 entries across 64 versions & 1 rubygems

Version Path
vault-tools-2.1.1 lib/vault-tools/hid.rb
vault-tools-2.1.0 lib/vault-tools/hid.rb
vault-tools-2.0.2 lib/vault-tools/hid.rb
vault-tools-2.0.1 lib/vault-tools/hid.rb
vault-tools-2.0.0 lib/vault-tools/hid.rb
vault-tools-1.0.1 lib/vault-tools/hid.rb
vault-tools-1.0.0 lib/vault-tools/hid.rb
vault-tools-0.7.1 lib/vault-tools/hid.rb
vault-tools-0.7.0 lib/vault-tools/hid.rb
vault-tools-0.6.5 lib/vault-tools/hid.rb
vault-tools-0.6.4 lib/vault-tools/hid.rb
vault-tools-0.6.3 lib/vault-tools/hid.rb
vault-tools-0.6.2 lib/vault-tools/hid.rb
vault-tools-0.6.1 lib/vault-tools/hid.rb
vault-tools-0.6.0 lib/vault-tools/hid.rb
vault-tools-0.5.22 lib/vault-tools/hid.rb
vault-tools-0.5.21 lib/vault-tools/hid.rb
vault-tools-0.5.19 lib/vault-tools/hid.rb
vault-tools-0.5.18 lib/vault-tools/hid.rb
vault-tools-0.5.17 lib/vault-tools/hid.rb