Class: Metanorma::Release::NamingRegistry

Inherits:
Object
  • Object
show all
Defined in:
lib/metanorma/release/naming_strategy.rb

Class Method Summary collapse

Instance Method Summary collapse

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_registryObject



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