class EasySettings

Constants

VERSION

Public Class Methods

new(sources: [], fail_on_missing: true) click to toggle source
# File lib/easy-settings.rb, line 14
def initialize(sources: [], fail_on_missing: true)
  @sources = sources
  @fail_on_missing = fail_on_missing
  reload!
end

Public Instance Methods

method_missing(method_name, *args) click to toggle source
# File lib/easy-settings.rb, line 29
def method_missing(method_name, *args)
  @data.send(method_name, *args)
rescue EasySettings::Struct::UnknownPropertyError => e
  return unless @fail_on_missing
  raise e
end
reload!() click to toggle source
# File lib/easy-settings.rb, line 20
def reload!
  config = {}
  @sources.each do |source|
    data = source.load
    config.deep_merge!(data)
  end
  @data = EasySettings::Struct.import(config)
end