class Remedy::View

Attributes

body[RW]
header[RW]
length[RW]

Public Class Methods

new(body, header = [], footer = []) click to toggle source
# File lib/remedy/view.rb, line 3
def initialize body, header = [], footer = []
  @header, @body, @footer = header, body, footer
end

Public Instance Methods

to_s(force_recompile = false) click to toggle source
# File lib/remedy/view.rb, line 8
def to_s force_recompile = false
  unless @view.nil? || force_recompile then
    @view
  else
    reset_length!
    @view = compile!
  end
end

Protected Instance Methods

compile!() click to toggle source
# File lib/remedy/view.rb, line 19
def compile!
  compiled_view = String.new
  reset_length!

  merged.each do |line|
    compiled_view << row(line)
  end

  compiled_view
end
merged() click to toggle source
# File lib/remedy/view.rb, line 30
def merged
  @header.to_a + @body.to_a + @footer.to_a
end
reset_length!() click to toggle source
# File lib/remedy/view.rb, line 39
def reset_length!
  @length = 0
end
row(line) click to toggle source
# File lib/remedy/view.rb, line 34
def row line
  @length += 1
  "#{line}#{ANSI.cursor.next_line}"
end