lib/core/core.rb in nucleon-0.1.4 vs lib/core/core.rb in nucleon-0.1.5

- old
+ new

@@ -3,12 +3,13 @@ class Core < Config #----------------------------------------------------------------------------- # Properties - @@logger = Util::Logger.new('core') - @@ui = Util::Console.new('core') + @@logger = Util::Logger.new('core') + @@ui = Util::Console.new('core') + @@ui_lock = Mutex.new #----------------------------------------------------------------------------- # Constructor / Destructor def initialize(data = {}, defaults = {}, force = true) @@ -58,13 +59,28 @@ end #----------------------------------------------------------------------------- # General utilities + def self.ui_group(resource) + @@ui_lock.synchronize do + begin + ui_resource = ui.resource + ui.resource = resource + yield(ui) + + ensure + ui.resource = ui_resource + end + end + end + + #--- + def ui_group(resource) ui_resource = ui.resource ui.resource = resource - yield + yield(ui) ensure ui.resource = ui_resource end end \ No newline at end of file