Class: Metanorma::Release::NamingRegistry
- Inherits:
-
Object
- Object
- Metanorma::Release::NamingRegistry
- Defined in:
- lib/metanorma/release/naming_strategy.rb
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(default: EditionNaming.new) ⇒ NamingRegistry
constructor
A new instance of NamingRegistry.
- #register(document_type, strategy) ⇒ Object
- #resolve(document_type) ⇒ Object
Constructor Details
#initialize(default: EditionNaming.new) ⇒ NamingRegistry
Returns a new instance of NamingRegistry.
134 135 136 137 |
# File 'lib/metanorma/release/naming_strategy.rb', line 134 def initialize(default: EditionNaming.new) @default = default @strategies = {} end |
Class Method Details
.default_registry ⇒ Object
147 148 149 150 151 152 153 154 155 |
# File 'lib/metanorma/release/naming_strategy.rb', line 147 def self.default_registry registry = new registry.register(DocumentType::IETF_DRAFT, InternetDraftNaming.new) registry.register(DocumentType::IETF_RFC, RfcNaming.new) registry.register(DocumentType::IEEE, DraftSuffixNaming.new) registry.register(DocumentType::IHO, VersionNaming.new) registry.register(DocumentType::OGC, VersionNaming.new) registry end |
Instance Method Details
#register(document_type, strategy) ⇒ Object
139 140 141 |
# File 'lib/metanorma/release/naming_strategy.rb', line 139 def register(document_type, strategy) @strategies[document_type] = strategy end |
#resolve(document_type) ⇒ Object
143 144 145 |
# File 'lib/metanorma/release/naming_strategy.rb', line 143 def resolve(document_type) @strategies.fetch(document_type, @default) end |