Sha256: be195455c3352ae7d1e6ce0053b695648c2a25ff73cff9e84bfdda1b2a5a340b
Contents?: true
Size: 847 Bytes
Versions: 4
Compression:
Stored size: 847 Bytes
Contents
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
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
acfs-1.3.2 | lib/acfs/resource/validation.rb |
acfs-1.3.1 | lib/acfs/resource/validation.rb |
acfs-1.3.0 | lib/acfs/resource/validation.rb |
acfs-1.2.1 | lib/acfs/resource/validation.rb |