Module: Metanorma::Release::SlugStrategy
- Included in:
- DraftSuffixSlug, EditionSlug, InternetDraftSlug, RfcSlug, VersionSlug
- Defined in:
- lib/metanorma/release/slug_strategy.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.publisher_from_identifier(identifier) ⇒ Object
24 25 26 27 28 |
# File 'lib/metanorma/release/slug_strategy.rb', line 24 def self.publisher_from_identifier(identifier) return nil if identifier.nil? || identifier.strip.empty? identifier.strip.split(/[\s-]/).first&.downcase end |
.slug_from_identifier(identifier) ⇒ Object
15 16 17 18 19 20 21 22 |
# File 'lib/metanorma/release/slug_strategy.rb', line 15 def self.slug_from_identifier(identifier) identifier.to_s.strip .gsub(/\s+/, "-") .gsub(/:+/, "-") .downcase .gsub(/--+/, "-") .gsub(/[-.]+$/, "") end |
Instance Method Details
#compute_asset_name(publication) ⇒ Object
10 11 12 13 |
# File 'lib/metanorma/release/slug_strategy.rb', line 10 def compute_asset_name(publication) raise NotImplementedError, "#{self.class} must implement #compute_asset_name" end |
#compute_tag(publication) ⇒ Object
6 7 8 |
# File 'lib/metanorma/release/slug_strategy.rb', line 6 def compute_tag(publication) raise NotImplementedError, "#{self.class} must implement #compute_tag" end |