lib/tty/prompt/question.rb in tty-prompt-0.15.0 vs lib/tty/prompt/question.rb in tty-prompt-0.16.0

- old
+ new

@@ -1,6 +1,7 @@ # encoding: utf-8 +# frozen_string_literal: true require_relative 'converters' require_relative 'evaluator' require_relative 'question/modifier' require_relative 'question/validation' @@ -18,11 +19,11 @@ UndefinedSetting = Class.new do def to_s "undefined" end - alias inspect to_s + alias_method :inspect, :to_s end # Store question message # @api public attr_reader :message @@ -44,11 +45,11 @@ @modifier = options.fetch(:modifier) { [] } @validation = options.fetch(:validation) { UndefinedSetting } @convert = options.fetch(:convert) { UndefinedSetting } @active_color = options.fetch(:active_color) { @prompt.active_color } @help_color = options.fetch(:help_color) { @prompt.help_color } - @error_color = options.fetch(:error_color) { :red } + @error_color = options.fetch(:error_color) { :red } @messages = Utils.deep_copy(options.fetch(:messages) { { } }) @done = false @input = nil @evaluator = Evaluator.new(self) @@ -127,20 +128,20 @@ # # @return [String] # # @api private def render_question - header = "#{@prefix}#{message} " + header = ["#{@prefix}#{message} "] if !echo? header elsif @done - header += @prompt.decorate("#{@input}", @active_color) + header << @prompt.decorate(@input.to_s, @active_color) elsif default? && !Utils.blank?(@default) - header += @prompt.decorate("(#{default})", @help_color) + ' ' + header << @prompt.decorate("(#{default})", @help_color) + ' ' end header << "\n" if @done - header + header.join end # Decide how to handle input from user # # @api private @@ -178,22 +179,22 @@ # # @return [String] # # @api private def refresh(lines, lines_to_clear) - output = '' + output = [] if @done if @errors.count.zero? output << @prompt.cursor.up(lines) else lines += @errors.count lines_to_clear += @errors.count end else output << @prompt.cursor.up(lines) end - output + @prompt.clear_lines(lines_to_clear) + output.join + @prompt.clear_lines(lines_to_clear) end # Convert value to expected type # # @param [Object] value @@ -319,10 +320,10 @@ @in != UndefinedSetting end # @api public def to_s - "#{message}" + message.to_s end # String representation of this question # @api public def inspect