Sha256: 561792350e1905d99d4b1862c796b936ff469c22aee31d794984d9642234f628

Contents?: true

Size: 751 Bytes

Versions: 1

Compression:

Stored size: 751 Bytes

Contents

module ActiveRecord
  class Errors

    # Add gender support to messages.
    # Try to get :gender key of attribute. If it's not set, pass 
    # the default gender (neuter)
    def generate_message_with_gender(attribute, message = :invalid, options = {})
      gender_defaults = @base.class.self_and_descendants_from_active_record.map do |klass|
        :"activerecord.attributes.#{klass.name.underscore}.#{attribute}.gender"
      end

      gender_defaults << "neuter"
      key = gender_defaults.shift
      gender = I18n.translate(key, {:default => gender_defaults})
      options.merge!({:gender => gender})

      generate_message_without_gender(attribute, message, options)
    end

    alias_method_chain :generate_message, :gender
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
drogus-genderized-0.0.4 lib/active_record_ext/error_messages_with_gender.rb