Class: YamlDir
- Inherits:
-
Object
- Object
- YamlDir
- Defined in:
- lib/hiera_browser/yamldir.rb
Overview
YamlDir allows you to retrieve information from Puppet’s node cache
Constant Summary collapse
- @@node_dir =
if ENV['YAML_DIR'] ENV['YAML_DIR'] elsif File.directory?('/var/opt/lib/pe-puppet/yaml') '/var/opt/lib/pe-puppet/yaml/node' else '/var/lib/puppet/yaml/node' end
Instance Method Summary collapse
- #collected_parameters ⇒ Object
- #collected_parameters_hash ⇒ Object
- #environments ⇒ Object
- #file_list ⇒ Object
-
#initialize(args = {}) ⇒ YamlDir
constructor
A new instance of YamlDir.
- #load_files ⇒ Object
- #node_list ⇒ Object
- #parameters ⇒ Object
- #path ⇒ Object
Constructor Details
#initialize(args = {}) ⇒ YamlDir
Returns a new instance of YamlDir.
14 15 16 17 |
# File 'lib/hiera_browser/yamldir.rb', line 14 def initialize(args = {}) @node_dir = args[:node_dir] || @@node_dir raise Exception.new "Can't find your $yamldir: #{@node_dir}" unless File.directory?(@node_dir) end |
Instance Method Details
#collected_parameters ⇒ Object
Note:
#collected_parameters is preferred over #parameters
42 43 44 45 46 47 48 |
# File 'lib/hiera_browser/yamldir.rb', line 42 def collected_parameters collection = ParameterCollection.new load_files.map{|f| f.parameters}. each{|params| params.each {|key, value| collection << Parameter.new(:key => key, :value => value) } } collection end |
#collected_parameters_hash ⇒ Object
50 51 52 |
# File 'lib/hiera_browser/yamldir.rb', line 50 def collected_parameters_hash collected_parameters.to_h end |
#environments ⇒ Object
54 55 56 |
# File 'lib/hiera_browser/yamldir.rb', line 54 def environments collected_parameters["environment"] end |
#file_list ⇒ Object
23 24 25 |
# File 'lib/hiera_browser/yamldir.rb', line 23 def file_list Dir.chdir(@node_dir) { Dir.glob('**/*.yaml') } end |
#load_files ⇒ Object
31 32 33 |
# File 'lib/hiera_browser/yamldir.rb', line 31 def load_files file_list.map{|f| YAML.load_file(File.join(@node_dir,f))} end |
#node_list ⇒ Object
27 28 29 |
# File 'lib/hiera_browser/yamldir.rb', line 27 def node_list file_list.map{|f| f.split('.yaml')}.flatten end |
#parameters ⇒ Object
Note:
#parameters is provided for temporary backwards compatibility
37 38 39 |
# File 'lib/hiera_browser/yamldir.rb', line 37 def parameters collected_parameters_hash end |
#path ⇒ Object
19 20 21 |
# File 'lib/hiera_browser/yamldir.rb', line 19 def path @node_dir end |