Sha256: 38ecfc20e6e7dcef402a6a84e0ff0a04ae6bfee9ef83367f281231b86cc1dd62

Contents?: true

Size: 772 Bytes

Versions: 2

Compression:

Stored size: 772 Bytes

Contents

# frozen_string_literal: true
require "io/console"
require_relative "firew0rks/version"
require_relative "firew0rks/frame"
require_relative "firew0rks/error"
require_relative "firew0rks/terminal"


class Fireworks
  def initialize
    @first_frame = true
    @frames = Frame.new.get_frames
    @backspace_adjust =  "\033[A" * (@frames[0].split("\n").length + 1)
  end


  def clear_screen
    Terminal.clear_buffer
  end

  def init_screen
    clear_screen
  end

  def render
    loop do
      @frames.each do |content|
        if !@first_frame
          $stdout.print @backspace_adjust
        end
        clear_screen
        $stdout.print content
        @first_frame = false
        sleep(0.05)
      end
    end
  end

  def run
    init_screen
    render
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
firew0rks-0.5.0 lib/firew0rks.rb
firew0rks-0.4.0 lib/firew0rks.rb