Sha256: 64ac1fdd7a52516dbed2ffb2e368712262958932b728bcb3605b992f1216a0c6
Contents?: true
Size: 1.04 KB
Versions: 2
Compression:
Stored size: 1.04 KB
Contents
# frozen_string_literal: true require 'erb' require 'yaml' require_relative '../support/configuration' module Dsu module Services class ConfigurationLoaderService include Dsu::Support::Configuration attr_reader :default_options def initialize(default_options: nil) unless default_options.nil? || default_options.is_a?(Hash) || default_options.is_a?(ActiveSupport::HashWithIndifferentAccess) raise ArgumentError, 'default_options must be a Hash or ActiveSupport::HashWithIndifferentAccess' end @default_options ||= default_options || {} @default_options = @default_options.with_indifferent_access if @default_options.is_a?(Hash) end def call config_options.merge(default_options).with_indifferent_access end private def config_options return Support::Configuration::DEFAULT_DSU_OPTIONS unless config_file? @config_options ||= YAML.safe_load(ERB.new(File.read(config_file)).result) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
dsu-0.1.0.alpha.4 | lib/dsu/services/configuration_loader_service.rb |
dsu-0.1.0.alpha.3 | lib/dsu/services/configuration_loader_service.rb |