Sha256: a6f8976b206d7aee141ad8019944e22bae3209c5be73cddfc09e05b832e21cb2
Contents?: true
Size: 1014 Bytes
Versions: 4
Compression:
Stored size: 1014 Bytes
Contents
require 'gs1/validations/check_digit_validation' require 'gs1/validations/date_validation' require 'gs1/validations/length_validation' module GS1 # Module for handling validations. # module Validations def self.included(base) base.extend ClassMethods base.send :include, InstanceMethods base.send :include, CheckDigitValidation base.send :include, DateValidation base.send :include, LengthValidation end # Adding validation class methods. # module ClassMethods def valid_data?(data) new(data).valid? end end # Adding validation instance methods. # module InstanceMethods def valid? errors.clear validate errors.empty? end def errors @errors ||= [] end def validate self.class.definitions.each_key do |definition| next if definition == :separator public_send("validate_#{definition}") end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
gs1-1.1.0 | lib/gs1/validations.rb |
gs1-1.0.0 | lib/gs1/validations.rb |
gs1-0.1.8 | lib/gs1/validations.rb |
gs1-0.1.7 | lib/gs1/validations.rb |