Module: Hiera::Util

Defined in:
lib/hiera/util.rb

Class Method Summary collapse

Class Method Details

.common_appdataObject



42
43
44
# File 'lib/hiera/util.rb', line 42

def common_appdata
  Dir::COMMON_APPDATA
end

.config_dirObject



22
23
24
25
26
27
28
# File 'lib/hiera/util.rb', line 22

def config_dir
  if microsoft_windows?
     File.join(common_appdata, 'PuppetLabs', 'code')
  else
    '/etc/puppetlabs/code'
  end
end

.file_alt_separatorObject



38
39
40
# File 'lib/hiera/util.rb', line 38

def file_alt_separator
  File::ALT_SEPARATOR
end

.microsoft_windows?Boolean

Returns:

  • (Boolean)


10
11
12
13
14
15
16
17
18
19
20
# File 'lib/hiera/util.rb', line 10

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?Boolean

Returns:

  • (Boolean)


5
6
7
8
# File 'lib/hiera/util.rb', line 5

def posix?
  require 'etc'
  Etc.getpwuid(0) != nil
end

.var_dirObject



30
31
32
33
34
35
36
# File 'lib/hiera/util.rb', line 30

def var_dir
  if microsoft_windows?
    File.join(common_appdata, 'PuppetLabs', 'code', 'hieradata')
  else
    '/etc/puppetlabs/code/hieradata'
  end
end