Sha256: 3d90bc3f1f2ac0dd2b9c2a331d99138222af8241dddb0339d543c8f7f12b4d89

Contents?: true

Size: 761 Bytes

Versions: 2

Compression:

Stored size: 761 Bytes

Contents

module Juici
  BUILD_SENSITIVE_VARIABLES = %w[RUBYOPT BUNDLE_GEMFILE RACK_ENV MONGOLAB_URI GEM_PATH WORKING_DIR]
  class BuildEnvironment

    attr_reader :env
    def initialize
      @env = ENV.to_hash.tap do |env|
        BUILD_SENSITIVE_VARIABLES.each do |var|
          env[var] = nil
        end
        env["BUNDLE_CONFIG"] = "/nonexistent"
      end
    end

    def [](k)
      env[k]
    end

    # XXX This is spectacular.
    # Not in the good way
    def load_json!(json)
      return true if json == ""
      loaded_json = JSON.load(json)
      if loaded_json.is_a? Hash
        env.merge!(loaded_json)
        return true
      end
      false
    rescue JSON::ParserError
      return false
    end

    def to_hash
      env
    end

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
juici-0.0.1.alpha1 lib/juici/build_environment.rb
juici-0.0.0.alpha1 lib/juici/build_environment.rb