Class: Glossarist::UrnResolver
- Inherits:
-
Object
- Object
- Glossarist::UrnResolver
- Defined in:
- lib/glossarist/urn_resolver.rb
Constant Summary collapse
- ELECTROPEDIA_BASE =
"https://www.electropedia.org/iev/iev.nsf/display?openform&ievref="- ISO_OBP_BASE =
"https://www.iso.org/obp/ui/#"
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize ⇒ UrnResolver
constructor
A new instance of UrnResolver.
- #register_scheme(prefix, &block) ⇒ Object
- #resolve(urn_or_reference) ⇒ Object
Constructor Details
#initialize ⇒ UrnResolver
Returns a new instance of UrnResolver.
8 9 10 11 |
# File 'lib/glossarist/urn_resolver.rb', line 8 def initialize @schemes = {} register_default_schemes end |
Class Method Details
.instance ⇒ Object
26 27 28 |
# File 'lib/glossarist/urn_resolver.rb', line 26 def instance @instance ||= new end |
.resolve(urn_or_reference) ⇒ Object
30 31 32 |
# File 'lib/glossarist/urn_resolver.rb', line 30 def resolve(urn_or_reference) instance.resolve(urn_or_reference) end |
Instance Method Details
#register_scheme(prefix, &block) ⇒ Object
21 22 23 |
# File 'lib/glossarist/urn_resolver.rb', line 21 def register_scheme(prefix, &block) @schemes[prefix] = block end |
#resolve(urn_or_reference) ⇒ Object
13 14 15 16 17 18 19 |
# File 'lib/glossarist/urn_resolver.rb', line 13 def resolve(urn_or_reference) urn = to_urn(urn_or_reference) return nil unless urn _, resolver = @schemes.find { |prefix, _| urn.start_with?(prefix) } resolver&.call(urn) end |