You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: array_drawer.rb
    path of file: ./repos/coltrane/lib/coltrane/renderers/text_renderer
    
    the code of the file until where you have to start completion: module Coltrane
  module Renderers
    module TextRenderer
      class ArrayDrawer < BaseDrawer
        alias array model

        def render
          public_send("render_#{layout}")
        end

        def renders
          @renders ||= array.map {|it| TextRenderer.render(it, **op
    
        def render_horizontal
          array
          .each_slice(per_row)
          .map { |row|
            row
            .map { |element|
              TextRenderer.render(element, **options)
              .split("\n")
              .yield_self { |lines|
                lines
                .map { |l| l.gsub(/\e\[(\d+)(;\d+)*m/, '').size }
                .max
                .yield_self { |column_w|
                  lines
                  .map { |l| l.ljust(column_w) }
                  .+([' ' * column_w])
                }
              }
            }
            .transpose
            .map(&:join)
          }.join("\n")
        end