Sha256: b10c09c40d5cf8bbeb6f03625174a66280d6d6d1c5f30120edd104244a0edda9

Contents?: true

Size: 1.05 KB

Versions: 5

Compression:

Stored size: 1.05 KB

Contents

module RDF; module Util
  ##
  # Utilities for UUID handling.
  #
  # @see http://en.wikipedia.org/wiki/Universally_unique_identifier
  module UUID
    ##
    # Generates a UUID string.
    #
    # This will make use of either the [UUID][] gem or the [UUIDTools][]
    # gem, whichever of the two happens to be available.
    #
    # [UUID]:      https://rubygems.org/gems/uuid
    # [UUIDTools]: https://rubygems.org/gems/uuidtools
    #
    # @param  [:default, :compact, :urn] format (:default)
    # @return [String] a UUID string
    # @raise  [LoadError] if no UUID library is available
    # @see    https://rubygems.org/gems/uuid
    # @see    https://rubygems.org/gems/uuidtools
    def self.generate(format: :default)
      begin
        require 'uuid'
        ::UUID.generate(format)
      rescue LoadError
        begin
          require 'uuidtools'
          ::UUIDTools::UUID.random_create.hexdigest
        rescue LoadError
          raise LoadError.new("no such file to load -- uuid or uuidtools")
        end
      end
    end
  end # UUID
end; end # RDF::Util

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
rdf-3.2.12 lib/rdf/util/uuid.rb
rdf-3.3.2 lib/rdf/util/uuid.rb
rdf-3.3.1 lib/rdf/util/uuid.rb
rdf-3.3.0 lib/rdf/util/uuid.rb
rdf-3.2.11 lib/rdf/util/uuid.rb