module Hiera::Util
Public Instance Methods
common_appdata()
click to toggle source
# File lib/hiera/util.rb, line 47 def common_appdata Dir::COMMON_APPDATA end
config_dir()
click to toggle source
# File lib/hiera/util.rb, line 27 def config_dir if microsoft_windows? File.join(common_appdata, 'PuppetLabs', 'code') else '/etc/puppetlabs/code' end end
file_alt_separator()
click to toggle source
# File lib/hiera/util.rb, line 43 def file_alt_separator File::ALT_SEPARATOR end
microsoft_windows?()
click to toggle source
# File lib/hiera/util.rb, line 15 def microsoft_windows? return false unless file_alt_separator begin require 'win32/dir' true rescue LoadError => err warn "Cannot run on Microsoft Windows without the win32-dir gem: #{err}" false end end
posix?()
click to toggle source
# File lib/hiera/util.rb, line 10 def posix? require 'etc' Etc.getpwuid(0) != nil end
split_key(key) { |'Syntax error'| ... }
click to toggle source
# File lib/hiera/util.rb, line 51 def split_key(key) segments = key.split(/(?:"([^"]+)"|'([^']+)'|([^'".]+))/) if segments.empty? # Only happens if the original key was an empty string '' elsif segments.shift == '' count = segments.size raise yield('Syntax error') unless count > 0 segments.keep_if { |seg| seg != '.' } raise yield('Syntax error') unless segments.size * 2 == count + 1 segments else raise yield('Syntax error') end end
var_dir()
click to toggle source
# File lib/hiera/util.rb, line 35 def var_dir if microsoft_windows? File.join(common_appdata, 'PuppetLabs', 'code', 'environments' , '%{environment}' , 'hieradata') else '/etc/puppetlabs/code/environments/%{environment}/hieradata' end end