Sha256: 2197169886c79869cd499f30ca08c49f3ff32be39a65034c511f120e0b0f337d
Contents?: true
Size: 642 Bytes
Versions: 5
Compression:
Stored size: 642 Bytes
Contents
# frozen_string_literal: true require_relative "result" module TTY class Prompt # Evaluates provided parameters and stops if any of them fails # @api private class Evaluator attr_reader :results def initialize(question, &block) @question = question @results = [] instance_eval(&block) if block end def call(initial) seed = Result::Success.new(@question, initial) results.reduce(seed, &:with) end def check(proc = nil, &block) results << (proc || block) end alias_method :<<, :check end # Evaluator end # Prompt end # TTY
Version data entries
5 entries across 5 versions & 2 rubygems