module Buildizer::Buildizer::DockerCacheMod

Public Instance Methods

docker_cache() click to toggle source
# 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?() click to toggle source
# File lib/buildizer/buildizer/docker_cache_mod.rb, line 73
def docker_cache_clear_settings?
  options[:clear_docker_cache]
end
docker_cache_setup!() click to toggle source
# 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 = user_settings_docker_cache_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 =~ /.+@.+/

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

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

    user_settings_save!
  end

  ci.docker_cache_setup!
end
docker_cache_update_settings?() click to toggle source
# 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_email() click to toggle source
# File lib/buildizer/buildizer/docker_cache_mod.rb, line 39
def setup_docker_cache_email
  options[:docker_cache_email] || user_settings_docker_cache_user(setup_docker_cache_user)['email']
end
setup_docker_cache_org() click to toggle source
# 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_password() click to toggle source
# File lib/buildizer/buildizer/docker_cache_mod.rb, line 25
def setup_docker_cache_password
  @setup_docker_cache_password ||= begin
    settings_password = user_settings_docker_cache_user(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_repo() click to toggle source
# File lib/buildizer/buildizer/docker_cache_mod.rb, line 13
def setup_docker_cache_repo
  options[:docker_cache]
end
setup_docker_cache_server() click to toggle source
# File lib/buildizer/buildizer/docker_cache_mod.rb, line 43
def setup_docker_cache_server
  options[:docker_cache_server] || user_settings_docker_cache_user(setup_docker_cache_user)['server']
end
setup_docker_cache_user() click to toggle source
# File lib/buildizer/buildizer/docker_cache_mod.rb, line 21
def setup_docker_cache_user
  options[:docker_cache_user] || user_settings_docker_cache_user_list(setup_docker_cache_org).first
end
user_settings_docker_cache() click to toggle source
# File lib/buildizer/buildizer/docker_cache_mod.rb, line 47
def user_settings_docker_cache
  user_settings['docker_cache'] ||= {}
end
user_settings_docker_cache_org(org) click to toggle source
# File lib/buildizer/buildizer/docker_cache_mod.rb, line 51
def user_settings_docker_cache_org(org)
  user_settings_docker_cache['org'] ||= {}
  user_settings_docker_cache['org'][org] ||= {}
end
user_settings_docker_cache_repo_list(org) click to toggle source
# File lib/buildizer/buildizer/docker_cache_mod.rb, line 65
def user_settings_docker_cache_repo_list(org)
  user_settings_docker_cache_org(org)['repo'] ||= []
end
user_settings_docker_cache_user(user) click to toggle source
# File lib/buildizer/buildizer/docker_cache_mod.rb, line 56
def user_settings_docker_cache_user(user)
  user_settings_docker_cache['user'] ||= {}
  user_settings_docker_cache['user'][user] ||= {}
end
user_settings_docker_cache_user_list(org) click to toggle source
# File lib/buildizer/buildizer/docker_cache_mod.rb, line 61
def user_settings_docker_cache_user_list(org)
  user_settings_docker_cache_org(org)['user'] ||= []
end