Module: GetEnv

Defined in:
lib/get_env.rb,
lib/get_env/version.rb

Constant Summary collapse

VERSION =
'0.2.0'

Class Method Summary collapse

Class Method Details

.[](key) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/get_env.rb', line 6

def self.[](key)
  return nil if key.nil?

  v = ENV[key].to_i
  return v if v.to_s == ENV[key]

  v = ENV[key].to_f
  return v if v.to_s == ENV[key]

  return false if ENV[key] == 'false'
  return true if ENV[key] == 'true'

  ENV[key]
end

.fetch(key, default = nil) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
# File 'lib/get_env.rb', line 21

def self.fetch(key, default = nil)
  if ENV.has_key?(key)
    self[key]
  elsif !default.nil?
    default
  elsif block_given?
    yield
  else
    ENV.fetch(key) # Will raise a KeyError
  end
end