class Gm::Notepad::BufferWrapper

To provide a means for colorizing the output and defering output

Public Class Methods

for_interactive(buffer:) click to toggle source
# File lib/gm/notepad/buffer_wrapper.rb, line 9
def self.for_interactive(buffer:)
  new(buffer: buffer, color: Container[:config].interactive_color, append_new_line_on_close: true)
end
for_output(buffer:) click to toggle source
# File lib/gm/notepad/buffer_wrapper.rb, line 13
def self.for_output(buffer:)
  new(buffer: buffer, color: Container[:config].output_color, append_new_line_on_close: false)
end
new(*args) click to toggle source
Calls superclass method
# File lib/gm/notepad/buffer_wrapper.rb, line 24
def initialize(*args)
  super
  if color
    buffer.extend(Term::ANSIColor)
  end
end

Public Instance Methods

close!() click to toggle source
# File lib/gm/notepad/buffer_wrapper.rb, line 39
def close!
  self.lines.each do |line|
    puts(line)
  end
  buffer.print("\n") if append_new_line_on_close
end
puts(text) click to toggle source
# File lib/gm/notepad/buffer_wrapper.rb, line 31
def puts(text)
  if color
    buffer.puts("#{buffer.public_send(color)}#{text}#{buffer.reset}")
  else
    buffer.puts("#{text}")
  end
end