Sha256: 7642f33ee4b9d7e505450a6a9e74b2ea543412049fb6aee80a7d30622e3c11a6

Contents?: true

Size: 1.06 KB

Versions: 1

Compression:

Stored size: 1.06 KB

Contents

module Empezar
  class Runner
    def self.run params
      self.start_configuration params[:config_file], params[:arguments]
      self.start_logger params[:log_file], params[:stdout]
    end

    def self.start_configuration config_file, arguments
      unless File.exist? config_file
        raise ConfigurationFileMissingException, "The configuration file is missing from '#{config_file}'"
      end
      Empezar::Configuration.instance.merge! SymbolMatrix.new config_file
      Empezar::Configuration.instance.recursive_merge! SymbolMatrix.new arguments.join " "
    end

    def self.start_logger log_file, stdout
      Dir.mkdir 'log' unless Dir.exist? 'log'
      Empezar::Log.start Logger.new 'log/main.log', 'daily'
      if Empezar::Configuration.instance.has_key? :verbosity and Empezar::Configuration.instance.verbosity == 'silent'
      else
        Empezar::Log.instance.formatter = EchoingFormatter.new Logger::Formatter.new, stdout
      end
    end
  end
end

class Runner
  class << self
    def method_missing *args
      Empezar::Runner.send *args
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
empezar-0.3.0 lib/empezar/runner.rb