Sha256: e7e5459c5f505730e9e5c80787de2b8aa15a381569c11f305043980a999851a8
Contents?: true
Size: 1.38 KB
Versions: 1
Compression:
Stored size: 1.38 KB
Contents
module WatchmonkeyCli class Application class Configuration module AppHelper def config_directory "#{wm_cfg_path}/configs" end def config_files Dir["#{config_directory}/**/*.rb"].reject do |file| file.gsub(config_directory, "").split("/").any?{|fp| fp.start_with?("__") } end end def config_filename name = "default" "#{config_directory}/#{name}.rb" end def load_configs! config_files.each {|f| Configuration.new(self, f) } end 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 end def initialize app, file @app = app @file = file begin eval File.read(file, encoding: "utf-8"), binding, file rescue app.error "Invalid config file #{file}" raise end end def ssh_connection name, opts = {}, &b @app.fetch_connection(:ssh, name, opts, &b) end def method_missing meth, *args, &block if c = @app.checkers[meth.to_s] c.enqueue(*args) else super end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
watchmonkey_cli-1.4 | lib/watchmonkey_cli/application/configuration.rb |