Sha256: 64cd3c3d00599e4c31057e6e5579c00b76071f80ce06399e3585f2002fd2ae02

Contents?: true

Size: 1.11 KB

Versions: 7

Compression:

Stored size: 1.11 KB

Contents

module Marty::Diagnostic; class EnvironmentVariables < Base
  diagnostic_fn do
    env
  end

  def self.env filter = ''
    env = ENV.to_h.clone

    to_delete = (Marty::Config['DIAG_ENV_BLOCK'] || []).map(&:upcase) + [
      'SCRIPT_URI', 'SCRIPT_URL'
    ]

    to_obfus = (Marty::Config['DIAG_ENV_OBFUSCATE'] || []).map(&:upcase) + [
      'SECRET_KEY_BASE'
    ]

    to_block = (Marty::Config['DIAG_ENV_BLOCK_IF_INCL'] || []).map(&:upcase) + [
      'ACCESS', 'SECRET', 'PASSWORD', 'DEBUG'
    ]

    to_delete.each { |k| env.delete(k) }

    to_obfus.each { |k| env[k] = env[k][0, 4] if env[k] }

    env.sort.each_with_object({}) do |(k, v), h|
      h[k] = v if to_block.all? { |b| !k.include?(b) } && k.include?(filter)
    end
  end

  # overwritten to only return inconsitent data
  def self.apply_consistency data
    diff = get_difference(data)
    data.each_with_object({}) do |(node, diagnostic), new_data|
      new_data[node] = diagnostic.each_with_object({}) do |(test, info), new_diagnostic|
        new_diagnostic[test] = info + { 'consistent' => false } if
          diff.include?(test)
      end
    end
  end
end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
marty-14.3.0 lib/marty/diagnostic/environment_variables.rb
marty-14.0.0 lib/marty/diagnostic/environment_variables.rb
marty-13.0.2 lib/marty/diagnostic/environment_variables.rb
marty-11.0.0 lib/marty/diagnostic/environment_variables.rb
marty-10.0.3 lib/marty/diagnostic/environment_variables.rb
marty-10.0.2 lib/marty/diagnostic/environment_variables.rb
marty-10.0.0 lib/marty/diagnostic/environment_variables.rb