Sha256: 323dbd09c6b248a19a154bd177566a501b1c2930afaa7f7796690a2fec82a46a
Contents?: true
Size: 1.56 KB
Versions: 1
Compression:
Stored size: 1.56 KB
Contents
require 'thor' require 'active_support/concern' require 'colorize' module Belajar module Terminal module Output extend ActiveSupport::Concern included do private def say(text) output = text.split("\n").map {|line| "\t#{line}" }.join("\n") $stdout.puts output end def empty_line $stdout.puts '' end def get(string) $stdout.print "\n\t#{string} " $stdin.gets.strip end def say_info(text) say_box(text, ' ℹ', :light_blue) end def say_warning(text) say_box(text, '⚠ ', :light_red) end def say_box(text, symbol, color) empty_line say line.send(color) empty_line indented_text = text.split("\n").join("\n#{' ' * (symbol.length + 1)}") say indented_text.prepend("#{symbol} ").send(color) empty_line say line.send(color) empty_line end def line(symbol = '-') symbol * 70 end def get_command(command, description) say description loop do cmd = get '>' unless cmd == command say "This was something else. Try \"#{command}\"." next end system cmd break end end def get_confirm(description) say_warning description confirm = get '(yes|no)' yield if confirm == 'yes' && block_given? end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
belajar-0.1.1 | lib/belajar/terminal/output.rb |