Method: QB::Docker::CLI.tag_cmd

Defined in:
lib/qb/docker/cli.rb

.tag_cmd(current_name, new_name_or_tag) ⇒ Object



332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
# File 'lib/qb/docker/cli.rb', line 332

def self.tag_cmd current_name, new_name_or_tag
  # Load whatever we have
  current_name = QB::Docker::Image::Name.from current_name
  
  new_name_or_tag = [
    QB::Docker::Image::Name,
    QB::Docker::Image::Tag,
  ].try_find { |klass| klass.from new_name_or_tag }
  
  new_name = if new_name_or_tag.is_a?( QB::Docker::Image::Name )
    if new_name_or_tag.tag
      new_name_or_tag
    else
      new_name_or_tag.merge tag: current_name.tag
    end
  else
    current_name.merge tag: new_name_or_tag
  end
  
  sub_cmd :tag, current_name, new_name_or_tag
end