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