class AsciiPaint::BlockString
Attributes
block_characters[R]
Public Class Methods
new(string)
click to toggle source
# File lib/ascii_paint/block_string.rb, line 5 def initialize(string) @block_characters = string.chars.map { |char| BlockCharacter.new(char) } end
Public Instance Methods
rows()
click to toggle source
# File lib/ascii_paint/block_string.rb, line 9 def rows block_characters.inject([[]]) do |rows, block_char| if block_char.newline? rows << [] else rows.last << block_char end rows end end
to_a()
click to toggle source
# File lib/ascii_paint/block_string.rb, line 20 def to_a rows.flat_map do |block_row| (0...BlockCharacter.height).map do |h| block_row.inject('') do |string_row, block_char| string_row + block_char.ascii[h] end end end end