Class: Algo::Docker::Network

Inherits:
Base
  • Object
show all
Defined in:
lib/algo/docker/network.rb

Constant Summary collapse

DEFAULT_NETWORKS =
%w(ingress none host bridge docker_gwbridge)

Instance Attribute Summary

Attributes inherited from Base

#id

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Base

#initialize

Constructor Details

This class inherits a constructor from Algo::Docker::Base

Class Method Details

.all(skip_default = false, conn = Docker.connection) ⇒ Object



35
36
37
38
39
# File 'lib/algo/docker/network.rb', line 35

def self.all(skip_default=false, conn=Docker.connection)
  hashes = conn.get('/networks')
  hashes.select { |h| !skip_default || !h['Name'].in?(DEFAULT_NETWORKS) }
        .map{ |h| new(conn, h) }
end

.create(init_spec, conn = Docker.connection) ⇒ Object



31
32
33
# File 'lib/algo/docker/network.rb', line 31

def self.create(init_spec, conn=Docker.connection)
  new(conn, conn.post("/networks/create", nil, body: JSON.generate(init_spec)))
end

.find(id, conn = Docker.connection) ⇒ Object



23
24
25
# File 'lib/algo/docker/network.rb', line 23

def self.find(id, conn=Docker.connection)
  new(conn, conn.get("/networks/#{id}"))
end

.remove(id_or_name, conn = Docker.connection) ⇒ Object



27
28
29
# File 'lib/algo/docker/network.rb', line 27

def self.remove(id_or_name, conn=Docker.connection)
  conn.delete("/networks/#{id_or_name}")
end

Instance Method Details

#infoObject



10
11
12
13
# File 'lib/algo/docker/network.rb', line 10

def info
  @info = self.class.find(@info["Id"]).info unless @info["Name"]
  @info
end

#inspectObject



6
7
8
# File 'lib/algo/docker/network.rb', line 6

def inspect
    "<Algo::Docker::Network name=#{info['Name']} scope=#{info['Scope']}>"
end

#removeObject



19
20
21
# File 'lib/algo/docker/network.rb', line 19

def remove
  self.class.remove @info['Id']
end

#to_hObject



15
16
17
# File 'lib/algo/docker/network.rb', line 15

def to_h
  @info
end