Sha256: 6fd71e6813b53b5db2c8bd6d03f6b3d692022d3d2807810dc9fe7d4bd37ff535
Contents?: true
Size: 1.5 KB
Versions: 3
Compression:
Stored size: 1.5 KB
Contents
module Nucleon class Core < Config #----------------------------------------------------------------------------- # Properties @@logger = Util::Logger.new('core') @@ui = Util::Console.new('core') #----------------------------------------------------------------------------- # Constructor / Destructor def initialize(data = {}, defaults = {}, force = true) super(data, defaults, force) class_label = self.class.to_s.downcase.gsub(/^nucleon::/, '') self.logger = delete(:logger, class_label) self.ui = Config.new(export).defaults({ :resource => class_label }) logger.debug('Initialized instance logger and interface') end #----------------------------------------------------------------------------- # Accessor / Modifiers attr_reader :logger, :ui #--- def self.logger return @@logger end def logger=logger Util::Logger.loggers.delete(self.logger.resource) if self.logger if logger.is_a?(Util::Logger) @logger = logger else @logger = Util::Logger.new(logger) end end #--- def self.ui return @@ui end def ui=ui if ui.is_a?(Util::Console) @ui = ui else @ui = Util::Console.new(ui) end end #----------------------------------------------------------------------------- # General utilities def ui_group(resource) ui_resource = ui.resource ui.resource = resource yield ensure ui.resource = ui_resource end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
nucleon-0.1.4 | lib/core/core.rb |
nucleon-0.1.3 | lib/core/core.rb |
nucleon-0.1.2 | lib/core/core.rb |