Sha256: 87811720ed6d61b5cddb8a9231a5c5ad3e72dc58e1176d3636e1c73b2777fa25
Contents?: true
Size: 903 Bytes
Versions: 3
Compression:
Stored size: 903 Bytes
Contents
module Metaractor module ContextErrors def errors if super.nil? self.errors = Metaractor::Errors.new end super end def fail_with_error!(message: nil, errors: nil) add_error(message: message, errors: errors) fail! end def fail_with_errors!(messages: [], errors: {}) add_errors(messages: messages, errors: errors) fail! end def add_error(message: nil, errors: nil) if message.nil? add_errors(errors: errors) else add_errors(messages: Array(message)) end end def add_errors(messages: [], errors: {}) if !messages.empty? self.errors.add(errors: { base: messages }) else self.errors.add(errors: errors) end end def error_messages errors.full_messages end end end Interactor::Context.send(:include, Metaractor::ContextErrors)
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
metaractor-2.1.1 | lib/metaractor/context_errors.rb |
metaractor-2.1.0 | lib/metaractor/context_errors.rb |
metaractor-2.0.0 | lib/metaractor/context_errors.rb |