Sha256: 2b0e8ab4651cbf669b4755f019dd170e688a52e24d0574d3b36a3d8065fc7b7e
Contents?: true
Size: 1.07 KB
Versions: 1
Compression:
Stored size: 1.07 KB
Contents
# frozen_string_literal: true class Acfs::Resource module Validation 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 if ::ActiveModel.version >= Gem::Version.new('6.1') def valid?(*args) super remote_errors.each {|e| errors.add(e.attribute, e.message) } errors.empty? end else def valid?(*args) super remote_errors.each {|f, e| errors.add(f, e) } errors.empty? end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
acfs-1.5.1 | lib/acfs/resource/validation.rb |