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