lib/marvin/settings.rb in jeffrafter-marvin-0.1.20081115 vs lib/marvin/settings.rb in jeffrafter-marvin-0.1.20081120

- old
+ new

@@ -1,16 +1,21 @@ require 'yaml' +require 'eventmachine' module Marvin class Settings - cattr_accessor :environment, :configuration, :is_setup, :default_client, :handler_folder, :default_parser + cattr_accessor :environment, :configuration, :is_setup, :default_client, + :handler_folder, :default_parser, :log_level, :verbose + + self.verbose = false + self.log_level = :info class << self def root - defined?(MARVIN_ROOT) ? MARVIN_ROOT : File.dirname(__FILE__) / "../.." + File.expand_path(defined?(MARVIN_ROOT) ? MARVIN_ROOT : File.dirname(__FILE__) / "../..") end def setup(options = {}) return if self.is_setup self.setup!(options) @@ -21,16 +26,11 @@ end def setup!(options = {}) self.environment ||= "development" self.configuration = {} - self.default_client ||= begin - require 'eventmachine' - Marvin::IRC::Client - rescue LoadError - Marvin::IRC::SocketClient - end - self.default_parser ||= Marvin::Parsers::RegexpParser + self.default_client ||= Marvin::IRC::Client + self.default_parser ||= Marvin::Parsers::SimpleParser loaded_yaml = YAML.load_file(root / "config/settings.yml") loaded_options = loaded_yaml["default"]. merge(loaded_yaml[self.environment]). merge(options) self.configuration.merge!(loaded_options) \ No newline at end of file