class Facter::OptionStore

Attributes

allow_external_loggers[RW]
block[RW]
block_list[RW]
blocked_facts[R]
cache[RW]
cli[RW]
color[RW]
config[RW]
config_file_custom_dir[RW]
config_file_external_dir[RW]
custom_facts[R]
debug[R]
default_external_dir[RW]
external_dir[W]
external_facts[R]
fact_groups[RW]
hocon[RW]
json[RW]
log_level[R]
puppet[RW]
ruby[R]
sequential[RW]
show_legacy[R]
strict[RW]
timing[RW]
trace[RW]
ttls[RW]
user_query[RW]
verbose[R]
yaml[RW]

Public Class Methods

all() click to toggle source
# File lib/facter/framework/core/options/option_store.rb, line 51
def all
  options = {}
  instance_variables.each do |iv|
    variable_name = iv.to_s.delete('@')
    options[variable_name.to_sym] = OptionStore.send(variable_name.to_sym)
  end
  options
end
blocked_facts=(*facts) click to toggle source
# File lib/facter/framework/core/options/option_store.rb, line 88
def blocked_facts=(*facts)
  @blocked_facts += [*facts]

  @blocked_facts.flatten!
end
custom_dir() click to toggle source
# File lib/facter/framework/core/options/option_store.rb, line 94
def custom_dir
  return @config_file_custom_dir unless @custom_dir.any?

  @custom_dir
end
custom_dir=(*dirs) click to toggle source
# File lib/facter/framework/core/options/option_store.rb, line 100
def custom_dir=(*dirs)
  @ruby = true

  @custom_dir = [*dirs]
  @custom_dir.flatten!
end
debug=(bool) click to toggle source
# File lib/facter/framework/core/options/option_store.rb, line 107
def debug=(bool)
  if bool == true
    self.log_level = :debug
  else
    @debug = false
    self.log_level = Facter::DEFAULT_LOG_LEVEL
  end
end
external_dir() click to toggle source
# File lib/facter/framework/core/options/option_store.rb, line 82
def external_dir
  return fallback_external_dir if @external_dir.empty? && @external_facts

  @external_dir
end
fallback_external_dir() click to toggle source
# File lib/facter/framework/core/options/option_store.rb, line 211
def fallback_external_dir
  return @config_file_external_dir if @config_file_external_dir.any?

  @default_external_dir
end
log_level=(level) click to toggle source
# File lib/facter/framework/core/options/option_store.rb, line 139
def log_level=(level)
  level = level.to_sym
  case level
  when :trace
    @log_level = :debug
  when :debug
    @log_level = :debug
    @debug = true
  else
    @log_level = level
  end

  Facter::Log.level = @log_level
end
no_block=(bool) click to toggle source
# File lib/facter/framework/core/options/option_store.rb, line 70
def no_block=(bool)
  @block = !bool
end
no_cache=(bool) click to toggle source
# File lib/facter/framework/core/options/option_store.rb, line 74
def no_cache=(bool)
  @cache = !bool
end
no_color=(bool) click to toggle source
# File lib/facter/framework/core/options/option_store.rb, line 78
def no_color=(bool)
  @color = !bool
end
no_custom_facts=(bool) click to toggle source
# File lib/facter/framework/core/options/option_store.rb, line 126
def no_custom_facts=(bool)
  if bool == false
    @custom_facts = true
    @ruby = true
  else
    @custom_facts = false
  end
end
no_external_facts=(bool) click to toggle source
# File lib/facter/framework/core/options/option_store.rb, line 135
def no_external_facts=(bool)
  @external_facts = !bool
end
no_ruby=(bool) click to toggle source
# File lib/facter/framework/core/options/option_store.rb, line 60
def no_ruby=(bool)
  if bool
    @ruby = false
    @custom_facts = false
    @blocked_facts << 'ruby'
  else
    @ruby = true
  end
end
reset() click to toggle source
# File lib/facter/framework/core/options/option_store.rb, line 167
def reset
  @debug = false
  @verbose = false
  # TODO: constant is not yet available when running puppet facts
  @log_level = :warn
  @show_legacy = true
  @ruby = true
  @user_query = []
  @json = false
  @hocon = false
  @cache = true
  @yaml = false
  @puppet = false
  @ttls = []
  @block = true
  @cli = nil
  reset_config
end
reset_config() click to toggle source
# File lib/facter/framework/core/options/option_store.rb, line 186
def reset_config
  @blocked_facts = []
  @external_facts = true
  @config = nil
  @strict = false
  @config_file_custom_dir = []
  @config_file_external_dir = []
  @default_external_dir = []
  @fact_groups = {}
  @block_list = {}
  @color = true
  @sequential = true
  @ttls = []
  @trace = false
  @timing = false
  @allow_external_loggers = true
  reset_facts
end
reset_facts() click to toggle source
# File lib/facter/framework/core/options/option_store.rb, line 205
def reset_facts
  @custom_facts = true
  @external_dir = []
  @custom_dir = []
end
set(key, value) click to toggle source
# File lib/facter/framework/core/options/option_store.rb, line 163
def set(key, value)
  send("#{key}=".to_sym, value)
end
show_legacy=(bool) click to toggle source
# File lib/facter/framework/core/options/option_store.rb, line 154
def show_legacy=(bool)
  if bool == true
    @show_legacy = bool
    @ruby = true
  else
    @show_legacy = false
  end
end
verbose=(bool) click to toggle source
# File lib/facter/framework/core/options/option_store.rb, line 116
def verbose=(bool)
  if bool == true
    @verbose = true
    self.log_level = :info
  else
    @verbose = false
    self.log_level = Facter::DEFAULT_LOG_LEVEL
  end
end