Sha256: 8782b06db934e7da9fda3d6308a691df356506b0e33a614ffefb0815afd0541e
Contents?: true
Size: 967 Bytes
Versions: 22
Compression:
Stored size: 967 Bytes
Contents
# frozen_string_literal: true require 'io/console' require 'thor' module Dsu module Support module Ask def ask_while(prompt, options: {}) # rubocop:disable Lint/UnusedMethodArgument loop do print prompt char = $stdin.getch puts char return char if yield(char) char end end def yes?(prompt, options: {}) auto_prompt = auto_prompt(prompt, options) unless auto_prompt.nil? puts prompt return auto_prompt end Thor::Base.shell.new.yes?(prompt) end private def auto_prompt(prompt, options) options = options.with_indifferent_access prompt = Utils.strip_escapes(prompt) @auto_prompt ||= begin value = options.dig(:prompts, prompt) || options.dig(:prompts, :any) value = (value == 'true' unless value.nil?) value end end end end end
Version data entries
22 entries across 22 versions & 1 rubygems