module Hiera::Util

Public Instance Methods

code_dir() click to toggle source
# File lib/hiera/util.rb, line 27
def code_dir
  if microsoft_windows?
    File.join(common_appdata, 'PuppetLabs', 'code')
  else
    '/etc/puppetlabs/code'
  end
end
common_appdata() click to toggle source
# File lib/hiera/util.rb, line 43
def common_appdata
  @common_appdata ||= Hiera::Util::Win32.get_common_appdata()
end
config_dir() click to toggle source
# File lib/hiera/util.rb, line 19
def config_dir
  if microsoft_windows?
     File.join(common_appdata, 'PuppetLabs', 'puppet', 'etc')
  else
    '/etc/puppetlabs/puppet'
  end
end
file_alt_separator() click to toggle source
# File lib/hiera/util.rb, line 39
def file_alt_separator
  File::ALT_SEPARATOR
end
microsoft_windows?() click to toggle source
# File lib/hiera/util.rb, line 15
def microsoft_windows?
  !!file_alt_separator
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 47
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
  File.join(code_dir, 'environments' , '%{environment}' , 'hieradata')
end