Sha256: fe85ed6f218d660cedbc7d1e28b97ac517523a3e264ec5fb55017f821dcfd073

Contents?: true

Size: 1.08 KB

Versions: 2

Compression:

Stored size: 1.08 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(" ")), true
    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

2 entries across 2 versions & 1 rubygems

Version Path
empezar-0.4.0 lib/empezar/runner.rb
empezar-0.3.1 lib/empezar/runner.rb