Sha256: b3f3c870597c35c2ef62ad11e1a5d8b2240803ee9a3a30f351314e87137ccba9
Contents?: true
Size: 775 Bytes
Versions: 1
Compression:
Stored size: 775 Bytes
Contents
require 'mongoid' require "mongoid-embedded-errors/version" require "mongoid-embedded-errors/embedded_in" module Mongoid module EmbeddedErrors def self.included(klass) # make sure that the alias only happens once: unless klass.instance_methods.include?(:errors_without_embedded_errors) klass.alias_method_chain(:errors, :embedded_errors) end end def errors_with_embedded_errors errs = errors_without_embedded_errors self.embedded_relations.each do |name, metadata| if errs[name] errs.delete(name.to_sym) self.send(name).each_with_index do |rel, i| errs[name] = {i => rel.errors.messages} if rel.errors.any? end end end return errs end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
mongoid-embedded-errors-1.1.0 | lib/mongoid-embedded-errors.rb |