Method: Ufo::Config#load_project_config

Defined in:
lib/ufo/config.rb

#load_project_configObject

load_project_config gets called so early many things like logger is not available. Take care not to rely on things that rely on the the config or else will create and infinite loop.



148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
# File 'lib/ufo/config.rb', line 148

def load_project_config
  root = layer_levels(".ufo/config")
  env  = layer_levels(".ufo/config/env")
  role = layer_levels(".ufo/config/#{Ufo.role}")
  layers = root + env + role
  # Dont use Ufo.app or that'll cause infinite loop since it loads Ufo.config
  if ENV['UFO_APP']
    root = layer_levels(".ufo/config/#{Ufo.app}")
    env  = layer_levels(".ufo/config/#{Ufo.app}/env")
    role = layer_levels(".ufo/config/#{Ufo.app}/#{Ufo.role}")
    layers += root + env + role
  end
  # load_project_config gets called so early that logger is not yet configured. use puts
  puts "Config layers:" if ENV['UFO_SHOW_ALL_LAYERS']
  layers.each do |layer|
    path = "#{Ufo.root}/#{layer}"
    puts "    #{layer}" if ENV['UFO_SHOW_ALL_LAYERS']
    evaluate_file(path)
  end
end