UNPKG

1.07 kBtext/coffeescriptView Raw
1# Provides libraries for running Docker remote API calls.
2#
3class DockerRemote
4
5 # Changes the container object to make consumption by subclasses
6 # easier.
7 #
8 # @param [Object] container container object
9 # @return [Object] container container object
10 #
11 @modifyContainer: (container) ->
12 if container.git
13 [ container.git, container.branch ] = container.git.split("#")
14
15 container.branch ||= process.env.BRANCH || "master"
16 container.links ||= []
17 container.ports ||= []
18 container.tags ||= []
19 container.vfrom ||= []
20 container.volumes ||= []
21
22 container
23
24 # Helps subclasses run system commands.
25 #
26 # @param [String] stdio "inherit" or "pipe"
27 #
28 @spawn: (stdio="pipe") ->
29 spawn = new DockerRemote.Spawn(stdio: stdio)
30 spawn.spawn.bind(spawn)
31
32require("./docker_remote/api")(DockerRemote)
33require("./docker_remote/args")(DockerRemote)
34require("./docker_remote/container")(DockerRemote)
35require("./docker_remote/image")(DockerRemote)
36require("./docker_remote/spawn")(DockerRemote)
37
38module.exports = DockerRemote