module AdvancedErrorsRails::FullMessages

Public Class Methods

included(base) click to toggle source
# File lib/advanced_errors_rails/full_messages.rb, line 15
def self.included(base)
  base.class_eval do
    alias_method :full_messages_without_ignore_attribute, :full_messages
    alias_method :full_messages, :full_messages_with_ignore_attribute
  end
end

Public Instance Methods

full_messages_with_ignore_attribute() click to toggle source
# File lib/advanced_errors_rails/full_messages.rb, line 3
def full_messages_with_ignore_attribute
  error = ActiveModel::Errors.new @base
  self.each do |attribute, message|
    unless message.match(/^\^/)
      error.add attribute, message
    else
      error.add :base, message[1..message.length] #Adding to base will mean that the attribute will not be displayed
    end
  end
  error.full_messages_without_ignore_attribute
end