class BigSister::Application
Constants
- DEFAULT_CONFIG_PATHS
Attributes
configs[R]
Public Class Methods
new(opts = {})
click to toggle source
# File lib/bigsister/application.rb, line 10 def initialize(opts = {}) @config_paths = opts[:config_paths] || DEFAULT_CONFIG_PATHS @configs = [] load_config! end
Public Instance Methods
run()
click to toggle source
# File lib/bigsister/application.rb, line 17 def run configs.each { |config| config.reporters.each { |reporter| config.monitors.each { |monitor| if reporter.log_files? monitor.files.each { |file| reporter.log_file(file) } end if reporter.log_directories? monitor.directories.each { |directory| reporter.log_directory(directory) } end } reporter.render } } end
Private Instance Methods
load_config!()
click to toggle source
# File lib/bigsister/application.rb, line 39 def load_config! yaml = @config_paths.map { |path| File.exists?(path) && YAML.load(File.open(path).read) }.select(&:itself).first if yaml.nil? raise BigSister::NoConfigurationFound.new(@config_paths) end sisters = yaml.fetch("sisters", []) sisters.each { |config| @configs.push(Configuration.new(config)) } end