Class: DockerRegistry::Registry

Inherits:
Object
  • Object
show all
Defined in:
lib/docker_registry/registry.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(uri) ⇒ Registry

Returns a new instance of Registry.

See Also:



11
12
13
14
15
16
17
18
# File 'lib/docker_registry/registry.rb', line 11

def initialize(uri)
  @uri = URI.parse(uri)
  @client = DockerRegistry::Client.new(
    "#{@uri.scheme}://#{@uri.host}:#{@uri.port}",
    user: @uri.user,
    password: @uri.password
  )
end

Instance Attribute Details

#base_uriObject (readonly)

Returns the value of attribute base_uri.



8
9
10
# File 'lib/docker_registry/registry.rb', line 8

def base_uri
  @base_uri
end

#clientObject (readonly)

Returns the value of attribute client.



8
9
10
# File 'lib/docker_registry/registry.rb', line 8

def client
  @client
end

#optionsObject (readonly)

Returns the value of attribute options.



8
9
10
# File 'lib/docker_registry/registry.rb', line 8

def options
  @options
end

Instance Method Details

#[](name) ⇒ Object



38
39
40
# File 'lib/docker_registry/registry.rb', line 38

def [](name)
  DockerRegistry::Repository.new({ name: name }, self)
end

#allObject



28
29
30
# File 'lib/docker_registry/registry.rb', line 28

def all
  search
end

#delete_reporitory_tag(tag) ⇒ Object



57
58
59
# File 'lib/docker_registry/registry.rb', line 57

def delete_reporitory_tag(tag)
  @client.delete_reporitory_tag(tag.repository.name, tag.name)
end

#delete_repository(repository) ⇒ Object



53
54
55
# File 'lib/docker_registry/registry.rb', line 53

def delete_repository(repository)
  @client.delete_repository(repository.name)
end

#domainObject



20
21
22
# File 'lib/docker_registry/registry.rb', line 20

def domain
  @domain ||= @uri.host
end

#pingObject



24
25
26
# File 'lib/docker_registry/registry.rb', line 24

def ping
  @client.ping
end

#repositry_tag(repository, tag) ⇒ Object



48
49
50
51
# File 'lib/docker_registry/registry.rb', line 48

def repositry_tag(repository, tag)
  image_id = (@client.repositry_tag(repository.name, tag) || "")
  DockerRegistry::Tag.new(tag, image_id, repository)
end

#repositry_tags(repository) ⇒ Object



42
43
44
45
46
# File 'lib/docker_registry/registry.rb', line 42

def repositry_tags(repository)
  (@client.repositry_tags(repository.name) || {}).map do |name, image_id|
    DockerRegistry::Tag.new(name, image_id, repository)
  end
end

#search(query = '') ⇒ Object



32
33
34
35
36
# File 'lib/docker_registry/registry.rb', line 32

def search(query = '')
  (@client.search(query)['results'] || []).map do |repo|
    DockerRegistry::Repository.new(repo, self)
  end
end