class Graphiti::Util::SimpleErrors
Attributes
Public Class Methods
Source
# File lib/graphiti/util/simple_errors.rb, line 11 def initialize(validation_target) @target = validation_target @messages = apply_default_array({}) @details = apply_default_array({}) @errors = apply_default_array({}) end
Public Instance Methods
Source
# File lib/graphiti/util/simple_errors.rb, line 23 def [](attribute) messages[attribute.to_sym] end
Source
# File lib/graphiti/util/simple_errors.rb, line 53 def add(attribute, code, message: nil) message ||= "is #{code.to_s.humanize.downcase}" details[attribute.to_sym] << {error: code} messages[attribute.to_sym] << message end
Source
# File lib/graphiti/util/simple_errors.rb, line 60 def added?(attribute, code) details[attribute.to_sym].include?({error: code}) end
Source
# File lib/graphiti/util/simple_errors.rb, line 18 def clear messages.clear details.clear end
Source
# File lib/graphiti/util/simple_errors.rb, line 27 def each messages.each_key do |attribute| messages[attribute].each { |error| yield attribute, error } end end
Source
# File lib/graphiti/util/simple_errors.rb, line 48 def empty? size.zero? end
Also aliased as: blank?
Source
# File lib/graphiti/util/simple_errors.rb, line 74 def full_message(attribute, message) return message if attribute == :base "#{attribute} #{message}" end
Source
# File lib/graphiti/util/simple_errors.rb, line 64 def full_messages map { |attribute, message| full_message(attribute, message) } end
Also aliased as: to_a
Source
# File lib/graphiti/util/simple_errors.rb, line 69 def full_messages_for(attribute) attribute = attribute.to_sym messages[attribute].map { |message| full_message(attribute, message) } end
Source
# File lib/graphiti/util/simple_errors.rb, line 42 def keys messages.select { |key, value| !value.empty? }.keys end
Source
# File lib/graphiti/util/simple_errors.rb, line 33 def size values.flatten.size end
Also aliased as: count
Source
# File lib/graphiti/util/simple_errors.rb, line 38 def values messages.values.reject(&:empty?) end
Private Instance Methods
Source
# File lib/graphiti/util/simple_errors.rb, line 81 def apply_default_array(hash) hash.default_proc = proc { |h, key| h[key] = [] } hash end