Class: ChefCore::CLIUX::UI::PlainTextHeader
- Inherits:
-
Object
- Object
- ChefCore::CLIUX::UI::PlainTextHeader
- Defined in:
- lib/chef_core/cliux/ui/plain_text_header.rb
Instance Method Summary collapse
- #auto_spin ⇒ Object
-
#initialize(format, opts) ⇒ PlainTextHeader
constructor
A new instance of PlainTextHeader.
- #register(child_format, child_opts, &block) ⇒ Object
Constructor Details
#initialize(format, opts) ⇒ PlainTextHeader
Returns a new instance of PlainTextHeader.
24 25 26 27 28 29 |
# File 'lib/chef_core/cliux/ui/plain_text_header.rb', line 24 def initialize(format, opts) @format = format @output = opts[:output] @children = {} @threads = [] end |
Instance Method Details
#auto_spin ⇒ Object
37 38 39 40 41 42 43 44 |
# File 'lib/chef_core/cliux/ui/plain_text_header.rb', line 37 def auto_spin msg = @format.gsub(/:spinner/, " HEADER ") @output.puts(msg) @children.each do |child, block| @threads << Thread.new { block.call(child) } end @threads.each(&:join) end |
#register(child_format, child_opts, &block) ⇒ Object
31 32 33 34 35 |
# File 'lib/chef_core/cliux/ui/plain_text_header.rb', line 31 def register(child_format, child_opts, &block) child_opts[:output] = @output child = PlainTextElement.new(child_format, child_opts) @children[child] = block end |