Class: Spoom::Printer

Inherits:
Object
  • Object
show all
Extended by:
T::Helpers, T::Sig
Includes:
Colorize
Defined in:
lib/spoom/printer.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Colorize

#set_color

Constructor Details

#initialize(out: $stdout, colors: true, indent_level: 0) ⇒ Printer

Returns a new instance of Printer.



19
20
21
22
23
# File 'lib/spoom/printer.rb', line 19

def initialize(out: $stdout, colors: true, indent_level: 0)
  @out = out
  @colors = colors
  @indent_level = indent_level
end

Instance Attribute Details

#outObject

Returns the value of attribute out.



16
17
18
# File 'lib/spoom/printer.rb', line 16

def out
  @out
end

Instance Method Details

#colorize(string, *color) ⇒ Object



77
78
79
80
# File 'lib/spoom/printer.rb', line 77

def colorize(string, *color)
  return string unless @colors
  T.unsafe(self).set_color(string, *color)
end

#dedentObject



33
34
35
# File 'lib/spoom/printer.rb', line 33

def dedent
  @indent_level -= 2
end

#indentObject



27
28
29
# File 'lib/spoom/printer.rb', line 27

def indent
  @indent_level += 2
end


39
40
41
42
# File 'lib/spoom/printer.rb', line 39

def print(string)
  return unless string
  @out.print(string)
end


48
49
50
51
52
# File 'lib/spoom/printer.rb', line 48

def print_colored(string, *color)
  return unless string
  string = T.unsafe(self).colorize(string, *color)
  @out.print(string)
end

#printl(string) ⇒ Object



62
63
64
65
66
67
# File 'lib/spoom/printer.rb', line 62

def printl(string)
  return unless string
  printt
  print(string)
  printn
end

#printnObject



56
57
58
# File 'lib/spoom/printer.rb', line 56

def printn
  print("\n")
end

#printtObject



71
72
73
# File 'lib/spoom/printer.rb', line 71

def printt
  print(" " * @indent_level)
end