class Algo::Docker::Service
Constants
- Spec
Attributes
spec[R]
Public Class Methods
all(conn=Docker.connection)
click to toggle source
# File lib/algo/docker/service.rb, line 79 def self.all(conn=Docker.connection) hashes = conn.get('/services') hashes.map{ |h| new(conn, h) } end
create(init_spec, conn=Docker.connection)
click to toggle source
# File lib/algo/docker/service.rb, line 65 def self.create(init_spec, conn=Docker.connection) new(conn, conn.post('/services/create', nil, body: JSON.generate(init_spec))) end
find(id_or_name, conn=Docker.connection)
click to toggle source
# File lib/algo/docker/service.rb, line 61 def self.find(id_or_name, conn=Docker.connection) new(conn, conn.get("/services/#{id_or_name}")) end
new(conn, hash)
click to toggle source
Calls superclass method
Algo::Docker::Base::new
# File lib/algo/docker/service.rb, line 12 def initialize conn, hash super(conn, hash) @spec = nil end
remove(id_or_name, conn=Docker.connection)
click to toggle source
# File lib/algo/docker/service.rb, line 69 def self.remove(id_or_name, conn=Docker.connection) conn.delete("/services/#{id_or_name}") end
update(id_or_name, version, next_spec, conn=Docker.connection)
click to toggle source
# File lib/algo/docker/service.rb, line 73 def self.update(id_or_name, version, next_spec, conn=Docker.connection) conn.post("/services/#{id_or_name}/update", { version: version }, body: JSON.generate(next_spec)) end
Public Instance Methods
info()
click to toggle source
# File lib/algo/docker/service.rb, line 21 def info @info = Docker::Service.find(@info["Id"]).info if @info["Spec"].blank? @info end
inspect()
click to toggle source
# File lib/algo/docker/service.rb, line 48 def inspect "<Algo::Docker::Service name=#{spec.name}>" end
name()
click to toggle source
# File lib/algo/docker/service.rb, line 17 def name info["Spec"]["Name"] end
raw_spec()
click to toggle source
# File lib/algo/docker/service.rb, line 44 def raw_spec info["Spec"] end
remove()
click to toggle source
# File lib/algo/docker/service.rb, line 52 def remove self.class.remove info['Id'] end
update(next_spec)
click to toggle source
# File lib/algo/docker/service.rb, line 56 def update next_spec self.class.update info['Id'], info['Version']['Index'], next_spec @info = self.class.find(@info["Id"]).info end