class Iguvium::Row

Public Class Methods

new(columns, characters, phrases: true) click to toggle source

gets characters limited by yrange and set of column ranges

# File lib/iguvium/row.rb, line 7
def initialize(columns, characters, phrases: true)
  @columns = columns
  if phrases
    characters =
      characters
      .sort
      .chunk_while { |a, b| a.mergable?(b) }
      .map { |chunk| chunk.inject(:+) }
  end
  @characters = characters
end

Public Instance Methods

cells() click to toggle source
# File lib/iguvium/row.rb, line 19
def cells
  @columns.map { |range|
    @characters.select { |character| range.cover?(character.x) }
  }
end
merge(other) click to toggle source
# File lib/iguvium/row.rb, line 29
def merge(other)
end
render(newlines: false) click to toggle source

@return rendered row array

# File lib/iguvium/row.rb, line 26
def render(newlines: false)
end