class HighLine::Question
def confirm_question(highline)
-
(String)
- {#confirm} rendered as a template if it is a String -
(String)
- default "Are you sure?" if {#confirm} is +true+
Parameters:
-
highline
(HighLine
) -- context
def confirm_question(highline) if confirm == true "Are you sure? " elsif confirm.is_a?(Proc) confirm.call(answer) else # evaluate ERb under initial scope, so it will have # access to question and answer template = if ERB.instance_method(:initialize).parameters.assoc(:key) # Ruby 2.6+ ERB.new(confirm, trim_mode: "%") else ERB.new(confirm, nil, "%") end template_renderer = TemplateRenderer.new(template, self, highline) template_renderer.render end end