Class: ApiConsumer::ParserRegistry
- Inherits:
-
Object
- Object
- ApiConsumer::ParserRegistry
- Defined in:
- lib/api_consumer/parser_registry.rb
Constant Summary collapse
- DEFAULT_NAMESPACE =
:root
Class Method Summary collapse
- .has_namespace?(namespace) ⇒ Boolean
- .parser_for(key, namespace = DEFAULT_NAMESPACE) ⇒ Object
- .register(name, parser, namespace = DEFAULT_NAMESPACE) ⇒ Object
- .registered ⇒ Object
-
.registered?(name, namespace = DEFAULT_NAMESPACE) ⇒ Boolean
Return whether or not the namespace has a parser in the registry with the given name.
- .registered_namespaces ⇒ Object
Class Method Details
.has_namespace?(namespace) ⇒ Boolean
26 27 28 |
# File 'lib/api_consumer/parser_registry.rb', line 26 def has_namespace?(namespace) self.registered_parsers.has_key? namespace end |
.parser_for(key, namespace = DEFAULT_NAMESPACE) ⇒ Object
39 40 41 42 |
# File 'lib/api_consumer/parser_registry.rb', line 39 def parser_for(key, namespace = DEFAULT_NAMESPACE) return self.registered_parsers.fetch(namespace).fetch(key) if registered? key, namespace return self.registered_parsers.fetch(DEFAULT_NAMESPACE).fetch(key) if registered? key end |
.register(name, parser, namespace = DEFAULT_NAMESPACE) ⇒ Object
34 35 36 37 |
# File 'lib/api_consumer/parser_registry.rb', line 34 def register(name, parser, namespace = DEFAULT_NAMESPACE) self.registered_parsers[namespace] ||= {} registered[namespace][name] = parser end |
.registered ⇒ Object
12 13 14 |
# File 'lib/api_consumer/parser_registry.rb', line 12 def registered self.registered_parsers end |
.registered?(name, namespace = DEFAULT_NAMESPACE) ⇒ Boolean
Return whether or not the namespace has a parser in the registry with the given name
18 19 20 21 22 23 24 |
# File 'lib/api_consumer/parser_registry.rb', line 18 def registered?(name, namespace = DEFAULT_NAMESPACE) registered = has_namespace? namespace if registered registered = self.registered_parsers[namespace].has_key? name end registered end |
.registered_namespaces ⇒ Object
30 31 32 |
# File 'lib/api_consumer/parser_registry.rb', line 30 def registered_namespaces registered.keys end |