module Legion::Settings

Constants

VERSION

Attributes

loader[RW]

Public Class Methods

[](key) click to toggle source
# File lib/legion/settings.rb, line 26
def [](key)
  logger.info('Legion::Settings was not loading, auto loading now!') if @loader.nil?
  @loader = load if @loader.nil?
  @loader[key]
rescue NoMethodError, TypeError
  logger.fatal 'rescue inside [](key)'
  nil
end
get(options = {}) click to toggle source
# File lib/legion/settings.rb, line 22
def get(options = {})
  @loader || @loader = load(options)
end
load(options = {}) click to toggle source
# File lib/legion/settings.rb, line 11
def load(options = {})
  @loader = Legion::Settings::Loader.new
  @loader.load_env
  @loader.load_file(options[:config_file]) if options[:config_file]
  @loader.load_directory(options[:config_dir]) if options[:config_dir]
  options[:config_dirs]&.each do |directory|
    @loader.load_directory(directory)
  end
  @loader
end
logger() click to toggle source
# File lib/legion/settings.rb, line 47
def logger
  @logger = if ::Legion.const_defined?('Logging')
              ::Legion::Logging
            else
              require 'logger'
              ::Logger.new($stdout)
            end
end
merge_settings(key, hash) click to toggle source
# File lib/legion/settings.rb, line 40
def merge_settings(key, hash)
  @loader = load if @loader.nil?
  thing = {}
  thing[key.to_sym] = hash
  @loader.load_module_settings(thing)
end
set_prop(key, value) click to toggle source
# File lib/legion/settings.rb, line 35
def set_prop(key, value)
  @loader = load if @loader.nil?
  @loader[key] = value
end