class Greenenvy::Loader

Public Class Methods

new(context_class, name_validator, env, dir) click to toggle source
# File lib/greenenvy/loader.rb, line 4
def initialize(context_class, name_validator, env, dir)
  @context_class = context_class
  @name_validator = name_validator
  @env = env
  @dir = dir
end

Public Instance Methods

load() click to toggle source
# File lib/greenenvy/loader.rb, line 11
def load
  settings = {}

  each_file do |property_name, file_contents|
    context = @context_class.new(@name_validator, @env, file_contents)
    settings[property_name] = context.load_settings
  end

  settings
end

Private Instance Methods

each_file() { |property_name, file_contents| ... } click to toggle source
# File lib/greenenvy/loader.rb, line 24
def each_file
  Dir.glob(File.join(@dir, "*.rb")) do |file_path|
    property_name = File.basename(file_path, ".rb").to_sym
    file_contents = File.read(file_path)
    yield(property_name, file_contents)
  end
end