Class: ActiveRecord::Bitemporal::Visualizer::Figure

Inherits:
Array
  • Object
show all
Defined in:
lib/activerecord-bitemporal/visualizer.rb

Overview

Figure is a two-dimensional array holding plotted lines and columns

Instance Method Summary collapse

Instance Method Details



7
8
9
10
11
12
13
14
15
# File 'lib/activerecord-bitemporal/visualizer.rb', line 7

def print(str, line: 0, column: 0)
  self[line] ||= []
  str.each_char.with_index(column) do |c, i|
    # The `#` represents a zero-length rectangle and should not be overwritten with lines
    next if self[line][i] == '#' && (c == '+' || c == '|' || c == '-')

    self[line][i] = c
  end
end

#to_sObject



17
18
19
# File 'lib/activerecord-bitemporal/visualizer.rb', line 17

def to_s
  map { |l| l&.map { |c| c || ' ' }&.join }.join("\n")
end