Sha256: 565503ffb60cf8cdd424dc1ab6784971e571fa63b827eed3bbc5085acd669dc5

Contents?: true

Size: 1022 Bytes

Versions: 3

Compression:

Stored size: 1022 Bytes

Contents

# The following is taken from custom_error_message plugin by David Easley
# (http://rubyforge.org/projects/custom-err-msg/)
module ActiveRecord
  class Errors

    # Redefine the ActiveRecord::Errors::full_messages method:
    #  Returns all the full error messages in an array. 'Base' messages are handled as usual.
    #  Non-base messages are prefixed with the attribute name as usual UNLESS they begin with '^'
    #  in which case the attribute name is omitted.
    #  E.g. validates_acceptance_of :accepted_terms, :message => '^Please accept the terms of service'
    def full_messages
      full_messages = []

      @errors.each_key do |attr|
        @errors[attr].each do |msg|
          next if msg.nil?

          if attr == "base"
            full_messages << msg
          elsif msg =~ /^\^/
            full_messages << msg[1..-1]
          else
            full_messages << @base.class.human_attribute_name(attr) + " " + msg
          end
        end
      end

      return full_messages
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
drogus-genderized-0.0.2 lib/active_record_ext/custom_error_message.rb
drogus-genderized-0.0.3 lib/active_record_ext/custom_error_message.rb
drogus-genderized-0.0.4 lib/active_record_ext/custom_error_message.rb