Sha256: c2b1f3c09566f9d1fdc96e05ad765d504964d3e738022844ed369ed7e0ee0a07
Contents?: true
Size: 1.61 KB
Versions: 25
Compression:
Stored size: 1.61 KB
Contents
# frozen_string_literal: true module Facter class Options class << self def cli? OptionStore.cli end def get OptionStore.all end def [](key) OptionStore.send(key.to_sym) end def []=(key, value) OptionStore.send("#{key}=".to_sym, value) end def custom_dir? OptionStore.custom_dir && OptionStore.custom_facts end def custom_dir [OptionStore.custom_dir].flatten end def external_dir? OptionStore.external_dir && OptionStore.external_facts end def external_dir OptionStore.external_dir end def init OptionStore.cli = false ConfigFileOptions.init store(ConfigFileOptions.get) end def init_from_cli(cli_options = {}) Facter::OptionStore.cli = true Facter::OptionStore.show_legacy = false Facter::OptionStore.trace = cli_options[:trace] OptionStore.set(:config, cli_options[:config]) ConfigFileOptions.init(cli_options[:config]) store(ConfigFileOptions.get) store(cli_options) Facter::OptionsValidator.validate_configs(get) end def store(options) options.each do |key, value| value = munge_option(key, value) OptionStore.set(key, value) end end private def munge_option(key, value) return value unless key.to_sym == :log_level case value.to_sym when :log_level '' when :none 'unknown' else value end end end end end
Version data entries
25 entries across 25 versions & 1 rubygems