Sha256: 69d8ab21a6e533d97c017c98bdcdc6b56af7eb568d9d3b8858a7238a641d8601

Contents?: true

Size: 1.97 KB

Versions: 12

Compression:

Stored size: 1.97 KB

Contents

require 'r10k/logging'

require 'r10k/git'
require 'r10k/git/cache'

require 'r10k/forge/module_release'

module R10K
  module Initializers
    class BaseInitializer

      include R10K::Logging

      def initialize(settings)
        @settings = settings
      end

      private

      def with_setting(key)
        if !@settings[key].nil?
          yield @settings[key]
        end
      end
    end

    class GlobalInitializer < BaseInitializer
      def call
        with_setting(:purgedirs) do |_|
          logger.warn(_("the purgedirs key in r10k.yaml is deprecated. it is currently ignored."))
        end

        with_setting(:deploy) { |value| DeployInitializer.new(value).call }

        with_setting(:cachedir) { |value| R10K::Git::Cache.settings[:cache_root] = value }
        with_setting(:cachedir) { |value| R10K::Forge::ModuleRelease.settings[:cache_root] = value }
        with_setting(:pool_size) { |value| R10K::Puppetfile.settings[:pool_size] = value }

        with_setting(:git) { |value| GitInitializer.new(value).call }
        with_setting(:forge) { |value| ForgeInitializer.new(value).call }
      end
    end

    class DeployInitializer < BaseInitializer
      def call
        with_setting(:puppet_path) { |value| R10K::Settings.puppet_path = value }
      end
    end

    class GitInitializer < BaseInitializer
      def call
        with_setting(:provider) { |value| R10K::Git.provider = value }
        with_setting(:username) { |value| R10K::Git.settings[:username] = value }
        with_setting(:private_key) { |value| R10K::Git.settings[:private_key] = value }
        with_setting(:proxy) { |value| R10K::Git.settings[:proxy] = value }
        with_setting(:repositories) { |value| R10K::Git.settings[:repositories] = value }
      end
    end

    class ForgeInitializer < BaseInitializer
      def call
        with_setting(:baseurl) { |value| PuppetForge.host = value }
        with_setting(:proxy) { |value| PuppetForge::Connection.proxy = value }
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
r10k-3.6.0 lib/r10k/initializers.rb
r10k-3.5.2 lib/r10k/initializers.rb
r10k-3.5.1 lib/r10k/initializers.rb
r10k-3.5.0 lib/r10k/initializers.rb
r10k-3.4.1 lib/r10k/initializers.rb
r10k-3.4.0 lib/r10k/initializers.rb
r10k-3.3.3 lib/r10k/initializers.rb
r10k-3.2.3 lib/r10k/initializers.rb
r10k-3.3.2 lib/r10k/initializers.rb
r10k-3.3.1 lib/r10k/initializers.rb
r10k-3.2.1 lib/r10k/initializers.rb
r10k-3.3.0 lib/r10k/initializers.rb