Sha256: 50ac854806be8c3a7014298ca5b49dc196ab3f7d22f2ec07dbcb17161036b760
Contents?: true
Size: 869 Bytes
Versions: 2
Compression:
Stored size: 869 Bytes
Contents
module GS1 module Barcode # Error collection handler wrapper class for a barcode. # class Errors attr_reader :errors def initialize @errors = {} end def [](attribute_name) errors[attribute_name] ||= [] end def clear errors.each_value do |errs| errs.select!(&:persistent?) end end def empty? errors.values.flatten.empty? end def messages errors.each_with_object({}) do |(attribute_name, errors), hash| hash[attribute_name] = errors.uniq.map(&:human_message) end end 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 end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
gs1-1.1.0 | lib/gs1/barcode/errors.rb |
gs1-1.0.0 | lib/gs1/barcode/errors.rb |