Class: Metanorma::Release::DraftSuffixSlug

Inherits:
Object
  • Object
show all
Includes:
SlugStrategy
Defined in:
lib/metanorma/release/slug_strategy.rb

Constant Summary collapse

DRAFT_SUFFIX =
/-d(\d+)\z/

Instance Method Summary collapse

Constructor Details

#initializeDraftSuffixSlug

Returns a new instance of DraftSuffixSlug.



113
114
115
# File 'lib/metanorma/release/slug_strategy.rb', line 113

def initialize
  @fallback = EditionSlug.new
end

Instance Method Details

#compute_asset_name(publication) ⇒ Object



106
107
108
109
110
111
# File 'lib/metanorma/release/slug_strategy.rb', line 106

def compute_asset_name(publication)
  match = publication.identifier.match(DRAFT_SUFFIX)
  return @fallback.compute_asset_name(publication) unless match

  "#{publication.slug}.zip"
end

#compute_tag(publication) ⇒ Object



97
98
99
100
101
102
103
104
# File 'lib/metanorma/release/slug_strategy.rb', line 97

def compute_tag(publication)
  match = publication.identifier.match(DRAFT_SUFFIX)
  return @fallback.compute_tag(publication) unless match

  base = publication.identifier.sub(DRAFT_SUFFIX, "")
  num = match[1]
  { tag: "#{base}/#{num}", pre_release: true }
end