Sha256: 0d2109fd3533b36317d39b97fad3e8ccd5a6847aa6ec2611f1b8f4f1b972abaf

Contents?: true

Size: 593 Bytes

Versions: 1

Compression:

Stored size: 593 Bytes

Contents

module Vedeu
  class ClearInterface
    def self.call(interface)
      new(interface).clear
    end

    def initialize(interface)
      @interface = interface
    end

    def clear
      set_colour + clear_lines
    end

    private

    attr_reader :interface

    def set_colour
      interface.colour.to_s
    end

    def clear_lines
      interface.height.times.inject([]) do |line, index|
        line << clear_line(index)
      end.join
    end

    def clear_line(index)
      interface.origin(index) +
      (' ' * interface.width) +
      interface.origin(index)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
vedeu-0.0.37 lib/vedeu/output/clear_interface.rb