Sha256: 844c4547ae3117d807fc2e978f538e1e56cd262aa1eef8296469fc98074ac302

Contents?: true

Size: 563 Bytes

Versions: 3

Compression:

Stored size: 563 Bytes

Contents

require 'fasten/ui/console'

module Fasten
  module Support
    module UI
      def ui
        require 'fasten/ui/curses'

        @ui ||= if ui_mode.to_s == 'curses' && $stdin.tty? && $stdout.tty?
                  Fasten::UI::Curses.new(runner: self)
                else
                  Fasten::UI::Console.new(runner: self)
                end
      rescue StandardError, LoadError
        @ui ||= Fasten::UI::Console.new(runner: self)
      end

      def run_ui
        ui.update

        yield
      ensure
        ui.cleanup
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
fasten-0.18.0 lib/fasten/support/ui.rb
fasten-0.16.0 lib/fasten/support/ui.rb
fasten-0.14.4 lib/fasten/support/ui.rb