Sha256: 3fd05f1a736e1f1bb8c44889a4f04ebc7ffdf6eec92d8be3827c0cf27b39323b

Contents?: true

Size: 1.06 KB

Versions: 17

Compression:

Stored size: 1.06 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]:      http://rubygems.org/gems/uuid
    # [UUIDTools]: http://rubygems.org/gems/uuidtools
    #
    # @param  [:default, :compact, :urn] format (:default)
    # @return [String] a UUID string
    # @raise  [LoadError] if no UUID library is available
    # @see    http://rubygems.org/gems/uuid
    # @see    http://rubygems.org/gems/uuidtools
    def self.generate(format: :default)
      begin
        require 'uuid'
        ::UUID.generate(format)
      rescue LoadError => e
        begin
          require 'uuidtools'
          ::UUIDTools::UUID.random_create.hexdigest
        rescue LoadError => e
          raise LoadError.new("no such file to load -- uuid or uuidtools")
        end
      end
    end
  end # UUID
end; end # RDF::Util

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
rdf-3.0.11 lib/rdf/util/uuid.rb
rdf-3.0.10 lib/rdf/util/uuid.rb
rdf-3.0.9 lib/rdf/util/uuid.rb
rdf-3.0.7 lib/rdf/util/uuid.rb
rdf-3.0.6 lib/rdf/util/uuid.rb
rdf-3.0.5 lib/rdf/util/uuid.rb
rdf-3.0.4 lib/rdf/util/uuid.rb
rdf-3.0.3 lib/rdf/util/uuid.rb
rdf-3.0.2 lib/rdf/util/uuid.rb
rdf-3.0.1 lib/rdf/util/uuid.rb
rdf-3.0.0 lib/rdf/util/uuid.rb
rdf-2.2.12 lib/rdf/util/uuid.rb
rdf-2.2.11 lib/rdf/util/uuid.rb
rdf-2.2.10 lib/rdf/util/uuid.rb
rdf-2.2.9 lib/rdf/util/uuid.rb
rdf-2.2.8 lib/rdf/util/uuid.rb
rdf-2.2.7 lib/rdf/util/uuid.rb