Module: Buildizer::Buildizer::DockerCacheMod

Included in:
Buildizer::Buildizer
Defined in:
lib/buildizer/buildizer/docker_cache_mod.rb

Instance Method Summary collapse

Instance Method Details

#docker_cacheObject



4
5
6
7
8
9
10
11
# File 'lib/buildizer/buildizer/docker_cache_mod.rb', line 4

def docker_cache
  return unless repo = ENV['BUILDIZER_DOCKER_CACHE']
  {user: ENV['BUILDIZER_DOCKER_CACHE_USERNAME'],
   password: ENV['BUILDIZER_DOCKER_CACHE_PASSWORD'],
   email: ENV['BUILDIZER_DOCKER_CACHE_EMAIL'],
   server: ENV['BUILDIZER_DOCKER_CACHE_SERVER'],
   repo: repo}
end

#docker_cache_clear_settings?Boolean

Returns:

  • (Boolean)


73
74
75
# File 'lib/buildizer/buildizer/docker_cache_mod.rb', line 73

def docker_cache_clear_settings?
  options[:clear_docker_cache]
end

#docker_cache_setup!Object



77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
# File 'lib/buildizer/buildizer/docker_cache_mod.rb', line 77

def docker_cache_setup!
  if docker_cache_update_settings?
    raise Error, error: :input_error,
                 message: "docker cache user required" unless setup_docker_cache_user
    raise Error, error: :input_error,
                 message: "bad docker cache user" if setup_docker_cache_user.empty?

    user_list = (setup_docker_cache_org)
    user_list.push(setup_docker_cache_user) unless user_list.include? setup_docker_cache_user

    raise Error, error: :input_error,
                 message: 'docker cache email required' unless setup_docker_cache_email
    raise Error, error: :input_error,
                 message: "bad docker cache email" unless setup_docker_cache_email =~ /.+@.+/

    (setup_docker_cache_user)['email'] = setup_docker_cache_email
    (setup_docker_cache_user)['server'] = setup_docker_cache_server
    (setup_docker_cache_user)['password'] = setup_docker_cache_password

    repo_list = (setup_docker_cache_org)
    repo_list.push(setup_docker_cache_repo) unless repo_list.include? setup_docker_cache_repo

    
  end

  ci.docker_cache_setup!
end

#docker_cache_update_settings?Boolean

Returns:

  • (Boolean)


69
70
71
# File 'lib/buildizer/buildizer/docker_cache_mod.rb', line 69

def docker_cache_update_settings?
  not setup_docker_cache_repo.nil?
end

#setup_docker_cache_emailObject



39
40
41
# File 'lib/buildizer/buildizer/docker_cache_mod.rb', line 39

def setup_docker_cache_email
  options[:docker_cache_email] || (setup_docker_cache_user)['email']
end

#setup_docker_cache_orgObject



17
18
19
# File 'lib/buildizer/buildizer/docker_cache_mod.rb', line 17

def setup_docker_cache_org
  setup_docker_cache_repo.split('/').first
end

#setup_docker_cache_passwordObject



25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/buildizer/buildizer/docker_cache_mod.rb', line 25

def setup_docker_cache_password
  @setup_docker_cache_password ||= begin
    settings_password = (setup_docker_cache_user)['password']
    if options[:reset_docker_cache_password] or settings_password.nil?
      secure_option(
        :docker_cache_password,
        ask: "Docker cache user '#{setup_docker_cache_user}' password:"
      )
    else
      settings_password
    end
  end
end

#setup_docker_cache_repoObject



13
14
15
# File 'lib/buildizer/buildizer/docker_cache_mod.rb', line 13

def setup_docker_cache_repo
  options[:docker_cache]
end

#setup_docker_cache_serverObject



43
44
45
# File 'lib/buildizer/buildizer/docker_cache_mod.rb', line 43

def setup_docker_cache_server
  options[:docker_cache_server] || (setup_docker_cache_user)['server']
end

#setup_docker_cache_userObject



21
22
23
# File 'lib/buildizer/buildizer/docker_cache_mod.rb', line 21

def setup_docker_cache_user
  options[:docker_cache_user] || (setup_docker_cache_org).first
end

#user_settings_docker_cacheObject



47
48
49
# File 'lib/buildizer/buildizer/docker_cache_mod.rb', line 47

def 
  ['docker_cache'] ||= {}
end

#user_settings_docker_cache_org(org) ⇒ Object



51
52
53
54
# File 'lib/buildizer/buildizer/docker_cache_mod.rb', line 51

def (org)
  ['org'] ||= {}
  ['org'][org] ||= {}
end

#user_settings_docker_cache_repo_list(org) ⇒ Object



65
66
67
# File 'lib/buildizer/buildizer/docker_cache_mod.rb', line 65

def (org)
  (org)['repo'] ||= []
end

#user_settings_docker_cache_user(user) ⇒ Object



56
57
58
59
# File 'lib/buildizer/buildizer/docker_cache_mod.rb', line 56

def (user)
  ['user'] ||= {}
  ['user'][user] ||= {}
end

#user_settings_docker_cache_user_list(org) ⇒ Object



61
62
63
# File 'lib/buildizer/buildizer/docker_cache_mod.rb', line 61

def (org)
  (org)['user'] ||= []
end