Module: BEL::Gen::Namespace

Included in:
Nanopub, Parameter
Defined in:
lib/bel/gen/namespace.rb

Overview

The Namespace module defines methods that generate random Namespace::NamespaceDefinition. The generated namespace are saved and can be accessed from #referenced_namespaces.

Constant Summary collapse

NAMESPACES =

Array of the latest OpenBEL Namespace::NamespaceDefinition.

BEL::Namespace::NAMESPACE_LATEST.map { |prefix, (url, rdf_uri)|
  BEL::Namespace::NamespaceDefinition.new(prefix, url, rdf_uri)
}

Instance Method Summary collapse

Instance Method Details

#namespaceBEL::Namespace::NamespaceDefinition

Returns a randomly chosen namespace.

Returns:



28
29
30
31
32
33
34
# File 'lib/bel/gen/namespace.rb', line 28

def namespace
  ns = Rantly {
    choose(*NAMESPACES)
  }
  referenced_namespaces[ns.prefix] = ns
  ns
end

#referenced_namespacesHash

Retrieve the namespaces chosen during use of #namespace.

Returns:



20
21
22
23
24
# File 'lib/bel/gen/namespace.rb', line 20

def referenced_namespaces
  @referenced_namespaces ||= Hash[
    NAMESPACES.map { |ns| [ns.prefix, ns] }
  ]
end