Sha256: 14055ea78a23135b9308794fa922fe23fa10eecb68be3a8404d59d3d0440e4db

Contents?: true

Size: 704 Bytes

Versions: 1

Compression:

Stored size: 704 Bytes

Contents

require 'env_loader/version'
require 'yaml'

module EnvLoader

  def self.read(env_yml_file = File.join('config', 'env_variables.yml'))
    if File.exists? env_yml_file
      if hash = YAML.load_file(env_yml_file)
        hash.each do |key, value|
          if value
            ENV[key.upcase] = format_value(value)
          end
        end
      end
    end
  end

  def self.get(key)
    if value = ENV[key.to_s.upcase]
      if value.match(/^\{.*\}$/)
        JSON.parse(value).with_indifferent_access
      else
        value
      end
    end
  end

  private

  def self.format_value(value)
    if value.is_a? Hash
      value = value.to_json
    else
      value = value.to_s
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
env_loader-0.1.0 lib/env_loader.rb