class GS1::Barcode::Errors
Error
collection handler wrapper class for a barcode.
Attributes
errors[R]
Public Class Methods
new()
click to toggle source
# File lib/gs1/barcode/errors.rb, line 8 def initialize @errors = {} end
Public Instance Methods
[](attribute_name)
click to toggle source
# File lib/gs1/barcode/errors.rb, line 12 def [](attribute_name) errors[attribute_name] ||= [] end
clear()
click to toggle source
# File lib/gs1/barcode/errors.rb, line 16 def clear errors.each_value do |errs| errs.select!(&:persistent?) end end
empty?()
click to toggle source
# File lib/gs1/barcode/errors.rb, line 22 def empty? errors.values.flatten.empty? end
full_messages()
click to toggle source
# File lib/gs1/barcode/errors.rb, line 32 def full_messages errors.flat_map do |(attribute_name, errors)| errors.uniq.map do |error| "#{error.human_message} #{attribute_name.to_s.tr('_', ' ')}" end end end
messages()
click to toggle source
# File lib/gs1/barcode/errors.rb, line 26 def messages errors.each_with_object({}) do |(attribute_name, errors), hash| hash[attribute_name] = errors.uniq.map(&:human_message) end end