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.



17
18
19
20
21
# File 'lib/spoom/printer.rb', line 17

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.



14
15
16
# File 'lib/spoom/printer.rb', line 14

def out
  @out
end

Instance Method Details

#colorize(string, *color) ⇒ Object



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

def colorize(string, *color)
  return string unless @colors

  T.unsafe(self).set_color(string, *color)
end

#dedentObject



31
32
33
# File 'lib/spoom/printer.rb', line 31

def dedent
  @indent_level -= 2
end

#indentObject



25
26
27
# File 'lib/spoom/printer.rb', line 25

def indent
  @indent_level += 2
end


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

def print(string)
  return unless string

  @out.print(string)
end


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

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
68
# 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



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

def printt
  print(" " * @indent_level)
end