Sha256: b549f8c3f8205d278f8499e53076d3e4af2857f768ab37b26e859d28f394eb63

Contents?: true

Size: 1.26 KB

Versions: 4

Compression:

Stored size: 1.26 KB

Contents

module Jets::Cfn::Resource::Codebuild::Project
  class Env
    include FormatEnv

    # config/jets/bootstrap.rb
    #
    #   Jets.bootstrap.configure do
    #     config.codebuild.project.env.vars
    #
    def vars
      vars = Jets.bootstrap.config.codebuild.project.env.vars.symbolize_keys!
      standardize_env_vars(vars)
    end

    # Used for codebuild.start_build in runner.rb
    def pass_vars(overrides = {})
      # config/jets/bootstrap.rb defined ENV vars
      env = Jets.bootstrap.config.codebuild.project.env

      vars = {}
      pass = (env.default_pass + env.pass).uniq

      # pass vars from your local machine to the codebuild remote runner
      pass.each do |x|
        ENV.each do |k, v|
          k = k.to_s
          match = x.is_a?(Regexp) ? k =~ x : k == x
          if match && v.is_a?(String)
            vars[k.to_sym] = v
          end
        end
      end

      # block gets the final say
      vars.reject! do |k, v|
        k = k.to_s
        env.block.any? do |x|
          x.is_a?(Regexp) ? k =~ x : k == x
        end
      end

      vars.merge!(overrides)

      standardize_env_vars(vars, casing: :underscore_keys)
    end

    def always_block
      %w[
        JETS_APP_SRC
        JETS_SIG
        JETS_TEMPLATES
      ]
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
jets-6.0.5 lib/jets/cfn/resource/codebuild/project/env.rb
jets-6.0.4 lib/jets/cfn/resource/codebuild/project/env.rb
jets-6.0.3 lib/jets/cfn/resource/codebuild/project/env.rb
jets-6.0.2 lib/jets/cfn/resource/codebuild/project/env.rb