Class: HieraSimulator::FactSource::FileSystem
- Inherits:
-
Object
- Object
- HieraSimulator::FactSource::FileSystem
- Defined in:
- lib/hiera-simulator/fact_source/filesystem.rb
Overview
Retrieve facts from the file system. This object is a “connection” to those files.
Instance Method Summary collapse
-
#facts(node) ⇒ Hash
Get facts for a node.
-
#initialize(config, override = {}) ⇒ FileSystem
constructor
Constructor.
Constructor Details
#initialize(config, override = {}) ⇒ FileSystem
Constructor
10 11 12 13 |
# File 'lib/hiera-simulator/fact_source/filesystem.rb', line 10 def initialize(config, override = {}) @fact_dir = override.fetch(:fact_dir, config.get('fact_dir', nil)) raise HieraSimulator::FactSourceError, 'No fact_dir was found in hiera-simulator configuration' if @fact_dir.nil? end |
Instance Method Details
#facts(node) ⇒ Hash
Get facts for a node
18 19 20 21 22 |
# File 'lib/hiera-simulator/fact_source/filesystem.rb', line 18 def facts(node) filepath = File.join(@fact_dir, node + '.yaml') return HieraSimulator::FactSource::Util.modify_and_load_yamlfile(filepath) if File.readable?(filepath) raise HieraSimulator::FactLookupError, "Fact retriever could not find or access #{filepath}" end |