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