Module: TasteTester::Config

Extended by:
BetweenMeals::Util, Mixlib::Config, Logging
Included in:
Server, State
Defined in:
lib/taste_tester/config.rb

Overview

Config file parser and config object Uses Mixlib::Config v1 syntax so it works in Chef10 omnibus… it’s compatible with v2, so it should work in 11 too.

Class Method Summary collapse

Methods included from Logging

formatter, formatterproc=, logger, logger, use_log_formatter=, verbosity=

Class Method Details

.chef_portObject



94
95
96
97
98
99
100
101
102
103
104
# File 'lib/taste_tester/config.rb', line 94

def self.chef_port
  range = chef_port_range.first.to_i..chef_port_range.last.to_i
  range.to_a.shuffle.each do |port|
    unless port_open?(port)
      return port
    end
  end
  logger.error 'Could not find a free port in range' +
    " [#{chef_port_range.first}, #{chef_port_range.last}]"
  exit 1
end

.cookbooksObject



62
63
64
65
66
# File 'lib/taste_tester/config.rb', line 62

def self.cookbooks
  cookbook_dirs.map do |x|
    File.join(repo, base_dir, x)
  end
end

.databagsObject



82
83
84
# File 'lib/taste_tester/config.rb', line 82

def self.databags
  File.join(repo, base_dir, databag_dir)
end

.relative_cookbook_dirsObject



68
69
70
71
72
# File 'lib/taste_tester/config.rb', line 68

def self.relative_cookbook_dirs
  cookbook_dirs.map do |x|
    (base_dir && !base_dir.empty?) ? File.join(base_dir, x) : x
  end
end

.relative_databag_dirObject



86
87
88
89
90
91
92
# File 'lib/taste_tester/config.rb', line 86

def self.relative_databag_dir
  if base_dir && !base_dir.empty?
    File.join(base_dir, databag_dir)
  else
    databag_dir
  end
end

.relative_role_dirObject



78
79
80
# File 'lib/taste_tester/config.rb', line 78

def self.relative_role_dir
  (base_dir && !base_dir.empty?) ? File.join(base_dir, role_dir) : role_dir
end

.rolesObject



74
75
76
# File 'lib/taste_tester/config.rb', line 74

def self.roles
  File.join(repo, base_dir, role_dir)
end

.testing_end_timeObject



106
107
108
109
110
111
112
# File 'lib/taste_tester/config.rb', line 106

def self.testing_end_time
  if TasteTester::Config.testing_until
    TasteTester::Config.testing_until.strftime('%y%m%d%H%M.%S')
  else
    (Time.now + TasteTester::Config.testing_time).strftime('%y%m%d%H%M.%S')
  end
end