class Ruby::Pomodoro::Printer
Attributes
cursor[R]
palette[R]
stream[R]
Public Class Methods
new(stream: $stdout, cursor: TTY::Cursor, palette: Pastel.new)
click to toggle source
# File lib/ruby/pomodoro/printer.rb, line 4 def initialize(stream: $stdout, cursor: TTY::Cursor, palette: Pastel.new) @stream = stream @cursor = cursor @palette = palette end
Public Instance Methods
clear_terminal()
click to toggle source
# File lib/ruby/pomodoro/printer.rb, line 15 def clear_terminal stream.print(cursor.up(100)) stream.print(cursor.clear_screen_down) end
print(text, color: nil)
click to toggle source
# File lib/ruby/pomodoro/printer.rb, line 20 def print(text, color: nil) if color stream.print(palette.send(color, text)) else stream.print(text) end stream.flush end
print_line(text, color: nil)
click to toggle source
# File lib/ruby/pomodoro/printer.rb, line 29 def print_line(text, color: nil) cursor.clear_line print(text, color: color) end
print_template(template_name, cmd_binding)
click to toggle source
# File lib/ruby/pomodoro/printer.rb, line 10 def print_template(template_name, cmd_binding) @__cmd_binding = cmd_binding stream.print(render(template_name)) end
render(file_name)
click to toggle source
# File lib/ruby/pomodoro/printer.rb, line 35 def render(file_name) ERB.new(read_file(file_name)).result(@__cmd_binding) end
Private Instance Methods
read_file(file_name_or_path)
click to toggle source
# File lib/ruby/pomodoro/printer.rb, line 44 def read_file(file_name_or_path) if file_name_or_path.kind_of?(Symbol) path = File.expand_path( "../../../#{File.join("view", "#{file_name_or_path}.txt.erb")}", __FILE__ ) File.read(path) else File.read(file_name_or_path) end end