lib/vedeu/output/renderers/all.rb in vedeu-0.6.65 vs lib/vedeu/output/renderers/all.rb in vedeu-0.6.66

- old
+ new

@@ -16,18 +16,13 @@ # Vedeu.renderers.clear # # @return [Array<void>] def clear storage.map do |renderer| - Vedeu.log(type: :render, - message: "Clearing via #{renderer.class.name}".freeze) + log('Clearing', renderer) - Thread.new(renderer) do - mutex.synchronize do - toggle_cursor { renderer.clear } - end - end + threaded(renderer) { renderer.clear } end.each(&:join) if Vedeu.ready? '' end @@ -49,18 +44,13 @@ # # @param output [void] # @return [Array<void>] def render(output) storage.map do |renderer| - Vedeu.log(type: :render, - message: "Rendering via #{renderer.class.name}".freeze) + log('Rendering', renderer) - Thread.new(renderer) do - mutex.synchronize do - toggle_cursor { renderer.render(output) } - end - end + threaded(renderer) { renderer.render(output) } end.each(&:join) if Vedeu.ready? output end @@ -94,17 +84,36 @@ # @return [Set] def in_memory Set.new end + # @param message [String] + # @param renderer [Class] + # @return [void] + def log(message, renderer) + Vedeu.log(type: :render, + message: "#{message} via #{renderer.class.name}".freeze) + end + # @return [Mutex] def mutex @mutex ||= Mutex.new end # @return [Set] def storage @storage ||= in_memory + end + + # @return [void] + def threaded(renderer) + Thread.new(renderer) do + mutex.synchronize do + toggle_cursor do + yield + end + end + end end # @return [void] def toggle_cursor Vedeu.trigger(:_hide_cursor_)