Method: CommandKit::Printing::Indent#indent

Defined in:
lib/command_kit/printing/indent.rb

#indent(n = 2) { ... } ⇒ Integer

Increases the indentation level by two, yields, then restores the indentation level.

Examples:

puts "values:"
indent do
  values.each do |key,value|
    puts "#{key}: #{value}"
  end
end
puts "Code:"
puts
puts "```"
indent(4) do
  code.each_line do |line|
    puts line
  end
end
puts "```"

Parameters:

  • n (Integer) (defaults to: 2)

    How much to increase the indentation level by.

Yields:

  • [] The given block will be called after the indentation level has been increased.

Returns:

  • (Integer)

    If no block is given, the indentation level will be returned.



66
67
68
69
70
71
72
73
74
75
76
77
78
79
# File 'lib/command_kit/printing/indent.rb', line 66

def indent(n=2)
  if block_given?
    original_indent = @indent

    begin
      @indent += n
      yield
    ensure
      @indent = original_indent
    end
  else
    @indent
  end
end