class Docker::Network

This class represents a Docker Network.

Public Class Methods

all(opts = {}, conn = Docker.connection) click to toggle source
# File lib/docker/network.rb, line 60
def all(opts = {}, conn = Docker.connection)
  hashes = Docker::Util.parse_json(conn.get('/networks', opts)) || []
  hashes.map { |hash| new(conn, hash) }
end
create(name, opts = {}, conn = Docker.connection) click to toggle source
# File lib/docker/network.rb, line 43
def create(name, opts = {}, conn = Docker.connection)
  default_opts = {
    'Name' => name,
    'CheckDuplicate' => true
  }
  resp = conn.post('/networks/create', {},
                   body: default_opts.merge(opts).to_json)
  response_hash = Docker::Util.parse_json(resp) || {}
  get(response_hash['Id'], {}, conn) || {}
end
delete(id, opts = {}, conn = Docker.connection)
Alias for: remove
get(id, opts = {}, conn = Docker.connection) click to toggle source
# File lib/docker/network.rb, line 54
def get(id, opts = {}, conn = Docker.connection)
  network_json = conn.get("/networks/#{URI.encode(id)}", opts)
  hash = Docker::Util.parse_json(network_json) || {}
  new(conn, hash)
end
remove(id, opts = {}, conn = Docker.connection) click to toggle source
# File lib/docker/network.rb, line 65
def remove(id, opts = {}, conn = Docker.connection)
  conn.delete("/networks/#{URI.encode(id)}", opts)
  nil
end
Also aliased as: delete

Public Instance Methods

connect(container, opts = {}) click to toggle source
# File lib/docker/network.rb, line 5
def connect(container, opts = {})
  Docker::Util.parse_json(
    connection.post(path_for('connect'), opts,
                    body: { container: container }.to_json)
  )
  reload
end
delete(opts = {})
Alias for: remove
disconnect(container, opts = {}) click to toggle source
# File lib/docker/network.rb, line 13
def disconnect(container, opts = {})
  Docker::Util.parse_json(
    connection.post(path_for('disconnect'), opts,
                    body: { container: container }.to_json)
  )
  reload
end
json(opts = {}) click to toggle source
# File lib/docker/network.rb, line 27
def json(opts = {})
  Docker::Util.parse_json(connection.get(path_for, opts))
end
reload() click to toggle source
# File lib/docker/network.rb, line 36
def reload
  network_json = @connection.get("/networks/#{URI.encode(@id)}")
  hash = Docker::Util.parse_json(network_json) || {}
  @info = hash
end
remove(opts = {}) click to toggle source
# File lib/docker/network.rb, line 21
def remove(opts = {})
  connection.delete(path_for, opts)
  nil
end
Also aliased as: delete
to_s() click to toggle source
# File lib/docker/network.rb, line 31
def to_s
  "Docker::Network { :id => #{id}, :info => #{info.inspect}, "       ":connection => #{connection} }"
end

Private Instance Methods

path_for(resource = nil) click to toggle source

Convenience method to return the path for a particular resource.

# File lib/docker/network.rb, line 73
def path_for(resource = nil)
  ["/networks/#{id}", resource].compact.join('/')
end