Module: WatchmonkeyCli::Application::Configuration::AppHelper

Included in:
WatchmonkeyCli::Application
Defined in:
lib/watchmonkey_cli/application/configuration.rb

Instance Method Summary collapse

Instance Method Details

#checker_directoryObject



13
14
15
# File 'lib/watchmonkey_cli/application/configuration.rb', line 13

def checker_directory
  "#{wm_cfg_path}/checkers"
end

#checker_filesObject



31
32
33
34
35
# File 'lib/watchmonkey_cli/application/configuration.rb', line 31

def checker_files
  Dir["#{checker_directory}/**/*.rb"].reject do |file|
    file.gsub(config_directory, "").split("/").any?{|fp| fp.start_with?("__") }
  end.sort
end

#config_directoryObject



9
10
11
# File 'lib/watchmonkey_cli/application/configuration.rb', line 9

def config_directory
  "#{wm_cfg_path}/configs"
end

#config_filename(name = "default") ⇒ Object



21
22
23
# File 'lib/watchmonkey_cli/application/configuration.rb', line 21

def config_filename name = "default"
  "#{config_directory}/#{name}.rb"
end

#config_filesObject



25
26
27
28
29
# File 'lib/watchmonkey_cli/application/configuration.rb', line 25

def config_files
  Dir["#{config_directory}/**/*.rb"].reject do |file|
    file.gsub(config_directory, "").split("/").any?{|fp| fp.start_with?("__") }
  end.sort
end

#generate_config(name = "default") ⇒ Object



54
55
56
57
58
59
# File 'lib/watchmonkey_cli/application/configuration.rb', line 54

def generate_config name = "default"
  FileUtils.mkdir_p(config_directory)
  File.open(config_filename(name), "w", encoding: "utf-8") do |f|
    f << File.read("#{File.dirname(__FILE__)}/configuration.tpl", encoding: "utf-8")
  end
end

#load_appconfigObject



49
50
51
52
# File 'lib/watchmonkey_cli/application/configuration.rb', line 49

def load_appconfig
  return unless File.exist?(wm_cfg_configfile)
  eval File.read(wm_cfg_configfile, encoding: "utf-8"), binding, wm_cfg_configfile
end

#load_checkers!Object



43
44
45
46
47
# File 'lib/watchmonkey_cli/application/configuration.rb', line 43

def load_checkers!
  checkers = checker_files
  debug "Loading #{checkers.length} checker files from `#{checker_directory}'"
  checkers.each {|f| require f }
end

#load_configs!Object



37
38
39
40
41
# File 'lib/watchmonkey_cli/application/configuration.rb', line 37

def load_configs!
  configs = config_files
  debug "Loading #{configs.length} config files from `#{config_directory}'"
  configs.each {|f| Configuration.new(self, f) }
end

#wm_cfg_configfileObject



17
18
19
# File 'lib/watchmonkey_cli/application/configuration.rb', line 17

def wm_cfg_configfile
  "#{wm_cfg_path}/config.rb"
end

#wm_cfg_pathObject



5
6
7
# File 'lib/watchmonkey_cli/application/configuration.rb', line 5

def wm_cfg_path
  ENV["WM_CFGDIR"].presence || File.expand_path("~/.watchmonkey")
end