class Docker::Distribution::Api::Manifest

Attributes

connection[RW]
info[RW]

Public Class Methods

get_by_tag(repository, tag, connection = Api.connection) click to toggle source
# File lib/docker/distribution/api/manifest.rb, line 26
def self.get_by_tag(repository, tag, connection = Api.connection)
  response = connection.get(
    "/#{repository}/manifests/#{tag}", nil, :headers => {:Accept => 'application/vnd.docker.distribution.manifest.v2+json'}
  )
  manifest_json = Util.parse_json(response.body)
  hash = manifest_json
  hash['digest'] = response.headers['Docker-Content-Digest']
  hash['repository'] = repository
  hash['tag'] = tag
  new(connection, hash)
end
new(connection, hash={}) click to toggle source
# File lib/docker/distribution/api/manifest.rb, line 10
def initialize(connection, hash={})
  unless connection.is_a?(Docker::Distribution::Connection)
    raise ArgumentError, "Expected a Docker::Distribution::Connection, got: #{connection}."
  end
  @connection, @info = connection, hash
end

Public Instance Methods

delete() click to toggle source
# File lib/docker/distribution/api/manifest.rb, line 17
def delete
  @connection.delete(
    "/#{@info['repository']}/manifests/#{@info['digest']}",
    nil,
    :expects => [202]
  )
  nil
end