Sha256: 5b2d26da0dc402ca015fda07fa547e748d8aea48dcef7db80e98a0be4d4396e7
Contents?: true
Size: 1.08 KB
Versions: 1
Compression:
Stored size: 1.08 KB
Contents
require "paint" require "cliprompt/version" require "cliprompt/optionset" module Cliprompt module_function MSG_MANDATORY_TEXT = "Sorry you need to fill that information." MSG_YES_OR_NO = "You need to answer by yes, no, y, n, 1 or 0." MSG_CHOSE_IN_LIST = "You need to chose between the available options." MSG_CHOSE_A_NUMBER = "Choose a number:" def ask(question, *options) if options[0].class == Optionset opts = options[0] else opts = Optionset.new(*options) end output.print "#{question} #{opts.display}" answer = input.gets.chomp output.flush opts.validate(question, answer) end def guess(env, question, *options) opts = Optionset.new(*options) if ENV[env] opts.validate(question, ENV[env]) else ask question, opts end end def say(message) output.puts message end def shout(message) output.puts Paint[message, :bold, :red ] end def setio(input, output) @@input = input @@output = output end def input @@input ||= STDIN end def output @@output ||= STDOUT end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
cliprompt-0.0.5 | lib/cliprompt.rb |