Sha256: 0c7202b5b420de69968c78e2f4cdf57396920f3272fd576cdd0e8d2d9e468fc6
Contents?: true
Size: 875 Bytes
Versions: 3
Compression:
Stored size: 875 Bytes
Contents
# frozen_string_literal: true class Acfs::Resource module Validation def valid?(*args) super remote_errors.each {|f, e| errors.add f, e } errors.empty? end def remote_errors @remote_errors ||= ActiveModel::Errors.new self end def remote_errors=(errors) if errors.respond_to?(:each_pair) errors.each_pair do |field, errs| Array(errs).each do |err| self.errors.add field.to_sym, err remote_errors.add field.to_sym, err end end else Array(errors).each do |err| self.errors.add :base, err remote_errors.add :base, err end end end def save!(*_) unless valid?(new? ? :create : :save) raise ::Acfs::InvalidResource.new resource: self, errors: errors.to_a end super end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
acfs-1.5.0 | lib/acfs/resource/validation.rb |
acfs-1.4.0 | lib/acfs/resource/validation.rb |
acfs-1.3.4 | lib/acfs/resource/validation.rb |