module CollectionErrors::Separate
Public Class Methods
included(base)
click to toggle source
# File lib/collection_errors/separate.rb, line 3 def self.included(base) base.extend(ClassMethods) end
Private Instance Methods
generate_error_message_for_collection_element(collection_name, index, message)
click to toggle source
# File lib/collection_errors/separate.rb, line 8 def generate_error_message_for_collection_element(collection_name, index, message) type = :collection_error defaults = self.class.lookup_ancestors.map do |klass| [ :"#{self.class.i18n_scope}.errors.models.#{klass.model_name.i18n_key}.attributes.#{collection_name}.#{type}", :"#{self.class.i18n_scope}.errors.models.#{klass.model_name.i18n_key}.#{type}" ] end defaults << :"#{self.class.i18n_scope}.errors.messages.#{type}" defaults << :"errors.attributes.#{collection_name}.#{type}" defaults << :"errors.messages.#{type}" defaults << "%{collection_name}%{index} %{original_message}" defaults.compact! defaults.flatten! I18n.translate(defaults.shift, :collection_name => self.class.human_attribute_name(collection_name), :index => index, :original_message => message, :default => defaults) end