class Dapp::Dimg::DockerRegistry::Base

Attributes

dapp[RW]
repository[RW]

Public Class Methods

new(dapp, repository) click to toggle source
# File lib/dapp/dimg/docker_registry/base.rb, line 8
def initialize(dapp, repository)
  self.dapp = dapp
  self.repository = repository
end

Public Instance Methods

gcr_image_delete(tag) click to toggle source
# File lib/dapp/dimg/docker_registry/base.rb, line 25
def gcr_image_delete(tag)
  image_delete_by_tag(tag)
end
image_config(tag) click to toggle source
# File lib/dapp/dimg/docker_registry/base.rb, line 21
def image_config(tag)
  ruby2go_docker_registry_command(command: :image_config, options: { reference: tag_reference(tag) })
end
image_delete(tag) click to toggle source
# File lib/dapp/dimg/docker_registry/base.rb, line 29
def image_delete(tag)
  digest = image_digest(tag)
  image_delete_by_digest(digest)
end
image_delete_by_digest(digest) click to toggle source
# File lib/dapp/dimg/docker_registry/base.rb, line 38
def image_delete_by_digest(digest)
  ruby2go_docker_registry_command(command: :image_delete, options: { reference: digest_reference(digest) })
end
image_delete_by_tag(tag) click to toggle source
# File lib/dapp/dimg/docker_registry/base.rb, line 34
def image_delete_by_tag(tag)
  ruby2go_docker_registry_command(command: :image_delete, options: { reference: tag_reference(tag) })
end
image_digest(tag) click to toggle source
# File lib/dapp/dimg/docker_registry/base.rb, line 42
def image_digest(tag)
  ruby2go_docker_registry_command(command: :image_digest, options: { reference: tag_reference(tag) })
end
image_id(tag) click to toggle source
# File lib/dapp/dimg/docker_registry/base.rb, line 13
def image_id(tag)
  ruby2go_docker_registry_command(command: :image_id, options: { reference: tag_reference(tag) })
end
image_parent_id(tag) click to toggle source
# File lib/dapp/dimg/docker_registry/base.rb, line 17
def image_parent_id(tag)
  ruby2go_docker_registry_command(command: :image_parent_id, options: { reference: tag_reference(tag) })
end

Protected Instance Methods

digest_reference(digest = nil) click to toggle source
# File lib/dapp/dimg/docker_registry/base.rb, line 52
def digest_reference(digest = nil)
  [self.repository.chomp("/"), digest].compact.join("@")
end
ruby2go_docker_registry_command(command:, **options) click to toggle source
# File lib/dapp/dimg/docker_registry/base.rb, line 56
def ruby2go_docker_registry_command(command:, **options)
  (options[:options] ||= {}).merge!(host_docker_config_dir: dapp.class.host_docker_config_dir)
  dapp.ruby2go_docker_registry(command: command, **options).tap do |res|
    raise Error::Registry, code: :ruby2go_docker_registry_command_failed_unexpected_error, data: { command: command, message: res["error"] } unless res["error"].nil?
    break res['data']
  end
end
tag_reference(tag = nil) click to toggle source
# File lib/dapp/dimg/docker_registry/base.rb, line 48
def tag_reference(tag = nil)
  [self.repository.chomp("/"), tag].compact.join(":")
end