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