Class: Rosette::Core::Resolver
- Inherits:
-
Object
- Object
- Rosette::Core::Resolver
- Defined in:
- lib/rosette/core/resolvers/resolver.rb
Overview
Base class for Rosette’s id resolvers that can look up a class constant given a namespaced id (string separated by forward slashes). For example, the extractor id “yaml/rails” resolves to Rosette::Extractors::YamlExtractor::RailsExtractor.
Direct Known Subclasses
Class Method Summary collapse
-
.parse_id(id) ⇒ Array<String>
Splits an id into parts.
-
.resolve(id, namespace) ⇒ Class
Parses and identifies the class constant for the given id.
Class Method Details
.parse_id(id) ⇒ Array<String>
Splits an id into parts.
65 66 67 |
# File 'lib/rosette/core/resolvers/resolver.rb', line 65 def parse_id(id) id.split('/') end |
.resolve(id, namespace) ⇒ Class
Parses and identifies the class constant for the given id.
46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/rosette/core/resolvers/resolver.rb', line 46 def resolve(id, namespace) klass = case id when Class id when String lookup(id, namespace) end unless klass raise ArgumentError, "#{id} could not be found - have you required it?" end klass end |