require 'viator/version' # Easy and Clean Error Handler class Viator attr_writer :value attr_reader :errors attr_accessor :hide_value class Errors < Array end def initialize(options = {}) @errors = Errors.new @value = nil @hide_value = (options[:hide_value] != false) end def success? @errors.length.zero? end def failure? !success? end def report(str) @errors.push(str) end def count @errors.length end def reset @errors = [] end def value @value unless failure? && @hide_value end end