Method: Indocker::DeploymentProgress#initialize

Defined in:
lib/indocker/deployment_progress.rb

#initialize(logger) ⇒ DeploymentProgress

Returns a new instance of DeploymentProgress.



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# File 'lib/indocker/deployment_progress.rb', line 4

def initialize(logger)
  @logger = logger

  if logger
    @logger.formatter = Proc.new do |severity, datetime, progname, msg|
      "#{msg}\n"
    end
  end

  @progress = Hash.new(:waiting)
  @semaphore = Mutex.new

  @synced_binaries = {
    # Structure:
    # server => {
    #   start: time,
    #   finish: time,
    #   state: (:waiting|:in_progress|:finished)
    # }
  }

  @synced_env_files = {
    # Structure:
    # env_file => {
    #   server => {
    #     start: time,
    #     finish: time,
    #     state: (:waiting|:in_progress|:finished)
    #   }
    # }
  }

  @synced_artifacts = {
    # Structure:
    # artifact => {
    #   server => {
    #     start: time,
    #     finish: time,
    #     state: (:waiting|:in_progress|:finished)
    #   }
    # }
  }

  @synced_repositories = {
    # Structure:
    # repository => {
    #   server => {
    #     start: time,
    #     finish: time,
    #     state: (:waiting|:in_progress|:finished)
    #   }
    # }
  }

  @deployed_containers = {
    # Structure:
    # container => {
    #   server => {
    #     build_start: time,
    #     build_finish: time,
    #     deploy_start: time,
    #     deploy_finish: time,
    #     state: (:waiting|:building|:waiting_deployment|:deploying|:finished)
    #   }
    # }
  }
end