Class: HalClient::CurieResolver
- Inherits:
-
Object
- Object
- HalClient::CurieResolver
- Defined in:
- lib/hal_client/curie_resolver.rb
Overview
Expands CURIEs to fully qualified URLs using a set of curie definitions.
Instance Method Summary collapse
-
#initialize(curie_defs) ⇒ CurieResolver
constructor
Initialize new CurieResolver.
-
#resolve(curie_or_uri) ⇒ Object
Returns a an expanded version of ‘curie_or_uri` or the input.
Constructor Details
#initialize(curie_defs) ⇒ CurieResolver
Initialize new CurieResolver
curie_defs - Array of curie definition links (per the HAL spec)
11 12 13 14 |
# File 'lib/hal_client/curie_resolver.rb', line 11 def initialize(curie_defs) curie_defs = [curie_defs].flatten @namespaces = interpret curie_defs end |
Instance Method Details
#resolve(curie_or_uri) ⇒ Object
Returns a an expanded version of ‘curie_or_uri` or the input. The input is returned when `curie_or_uri` is not a curie or is a curie whose namespace is not recognized.
curie_or_uri - the (potential) curie to resolve
21 22 23 24 25 26 27 28 29 |
# File 'lib/hal_client/curie_resolver.rb', line 21 def resolve(curie_or_uri) ns, short_name = split_curie curie_or_uri if ns && (namespaces.has_key? ns) namespaces[ns].(rel: short_name).to_s else curie_or_uri end end |