class TTY::Prompt::Result

Accumulates errors

Attributes

errors[R]
question[R]
value[R]

Public Class Methods

new(question, value, errors = []) click to toggle source
# File lib/tty/prompt/result.rb, line 9
def initialize(question, value, errors = [])
  @question = question
  @value  = value
  @errors = errors
end

Public Instance Methods

failure?() click to toggle source
# File lib/tty/prompt/result.rb, line 31
def failure?
  is_a?(Failure)
end
success?() click to toggle source
# File lib/tty/prompt/result.rb, line 27
def success?
  is_a?(Success)
end
with(condition = nil, &block) click to toggle source
# File lib/tty/prompt/result.rb, line 15
def with(condition = nil, &block)
  validator = (condition || block)
  (new_value, validation_error) = validator.call(question, value)
  accumulated_errors = errors + Array(validation_error)

  if accumulated_errors.empty?
    Success.new(question, new_value)
  else
    Failure.new(question, new_value, accumulated_errors)
  end
end