Class: Ace::Support::Nav::Molecules::ResourceResolver
- Inherits:
-
Object
- Object
- Ace::Support::Nav::Molecules::ResourceResolver
- Defined in:
- lib/ace/support/nav/molecules/resource_resolver.rb
Overview
Resolves resource URIs to file paths
Instance Method Summary collapse
-
#initialize(handbook_scanner: nil, uri_parser: nil, protocol_scanner: nil) ⇒ ResourceResolver
constructor
A new instance of ResourceResolver.
- #resolve(uri_string) ⇒ Object
- #resolve_pattern(uri_string) ⇒ Object
Constructor Details
#initialize(handbook_scanner: nil, uri_parser: nil, protocol_scanner: nil) ⇒ ResourceResolver
Returns a new instance of ResourceResolver.
14 15 16 17 18 |
# File 'lib/ace/support/nav/molecules/resource_resolver.rb', line 14 def initialize(handbook_scanner: nil, uri_parser: nil, protocol_scanner: nil) # Support legacy handbook_scanner parameter @protocol_scanner = protocol_scanner || handbook_scanner || ProtocolScanner.new @uri_parser = uri_parser || Atoms::UriParser.new end |
Instance Method Details
#resolve(uri_string) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/ace/support/nav/molecules/resource_resolver.rb', line 20 def resolve(uri_string) # Parse the URI uri = Models::ResourceUri.new(uri_string) return nil unless uri.valid? if uri.source_specific? resolve_source_specific(uri) else resolve_cascade(uri) end end |
#resolve_pattern(uri_string) ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/ace/support/nav/molecules/resource_resolver.rb', line 32 def resolve_pattern(uri_string) # Parse the URI uri = Models::ResourceUri.new(uri_string) return [] unless uri.valid? pattern = uri.path || "*" if uri.source_specific? resolve_pattern_source_specific(uri, pattern) else resolve_pattern_cascade(uri, pattern) end end |