Class: Metanorma::Release::DraftSuffixNaming

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

Constant Summary collapse

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

Instance Method Summary collapse

Constructor Details

#initializeDraftSuffixNaming

Returns a new instance of DraftSuffixNaming.



128
129
130
# File 'lib/metanorma/release/naming_strategy.rb', line 128

def initialize
  @fallback = EditionNaming.new
end

Instance Method Details

#compute_asset_name(id, version) ⇒ Object



114
115
116
117
118
119
# File 'lib/metanorma/release/naming_strategy.rb', line 114

def compute_asset_name(id, version)
  match = id.to_s.match(DRAFT_SUFFIX)
  return @fallback.compute_asset_name(id, version) unless match

  "#{id}.zip"
end

#compute_canonical_base(id, version) ⇒ Object



121
122
123
124
125
126
# File 'lib/metanorma/release/naming_strategy.rb', line 121

def compute_canonical_base(id, version)
  match = id.to_s.match(DRAFT_SUFFIX)
  return @fallback.compute_canonical_base(id, version) unless match

  id.to_s
end

#compute_tag(id, version) ⇒ Object



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

def compute_tag(id, version)
  match = id.to_s.match(DRAFT_SUFFIX)
  return @fallback.compute_tag(id, version) unless match

  base = id.to_s.sub(DRAFT_SUFFIX, '')
  num = match[1]
  ReleaseTag.create("#{base}/#{num}", pre_release: true)
end