class HammerCLI::Help::TextBuilder

Attributes

definition[RW]

Public Class Methods

new(richtext = false) click to toggle source
# File lib/hammer_cli/help/text_builder.rb, line 8
def initialize(richtext = false)
  @richtext = richtext
  @definition = HammerCLI::Help::Definition.new
end

Public Instance Methods

at(path = []) { |sub_builder| ... } click to toggle source
# File lib/hammer_cli/help/text_builder.rb, line 37
def at(path = [])
  item = path.empty? ? self : @definition.at(path)
  sub_builder = TextBuilder.new(@richtext)
  sub_builder.definition = item.definition
  yield(sub_builder)
  item.definition = sub_builder.definition
end
find_item(item_id) click to toggle source
# File lib/hammer_cli/help/text_builder.rb, line 33
def find_item(item_id)
  @definition.find_item(item_id)
end
indent(content, indentation = nil) click to toggle source
# File lib/hammer_cli/help/text_builder.rb, line 51
def indent(content, indentation = nil)
  HammerCLI::Help::AbstractItem.indent(content, indentation)
end
insert(mode, item_id) { |sub_builder| ... } click to toggle source
# File lib/hammer_cli/help/text_builder.rb, line 45
def insert(mode, item_id)
  sub_builder = TextBuilder.new(@richtext)
  yield(sub_builder)
  @definition.insert_definition(mode, item_id, sub_builder.definition)
end
list(items, options = {}) click to toggle source
# File lib/hammer_cli/help/text_builder.rb, line 21
def list(items, options = {})
  return if items.empty?
  @definition << HammerCLI::Help::List.new(items, options)
end
section(label, options = {}) { |sub_builder| ... } click to toggle source
# File lib/hammer_cli/help/text_builder.rb, line 26
def section(label, options = {}, &block)
  sub_builder = TextBuilder.new(@richtext)
  yield(sub_builder) if block_given?
  options[:richtext] ||= @richtext
  @definition << HammerCLI::Help::Section.new(label, sub_builder.definition, options)
end
string() click to toggle source
# File lib/hammer_cli/help/text_builder.rb, line 13
def string
  @definition.build_string
end
text(content, options = {}) click to toggle source
# File lib/hammer_cli/help/text_builder.rb, line 17
def text(content, options = {})
  @definition << HammerCLI::Help::Text.new(content, options)
end