提交 37758cde 编写于 作者: M Marcel Molina

DRY up and tweak style of the validation error object.

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4213 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
上级 32f66f09
......@@ -97,13 +97,9 @@ def invalid?(attribute)
# * Returns the error message, if one error is associated with the specified +attribute+.
# * Returns an array of error messages, if more than one error is associated with the specified +attribute+.
def on(attribute)
if @errors[attribute.to_s].nil?
nil
elsif @errors[attribute.to_s].length == 1
@errors[attribute.to_s].first
else
@errors[attribute.to_s]
end
errors = @errors[attribute.to_s]
return nil if errors.nil?
errors.size == 1 ? errors.first : errors
end
alias :[] :on
......@@ -139,13 +135,12 @@ def full_messages
end
end
end
return full_messages
full_messages
end
# Returns true if no errors have been added.
def empty?
return @errors.empty?
@errors.empty?
end
# Removes all the errors that have been added.
......@@ -156,9 +151,7 @@ def clear
# Returns the total number of errors added. Two errors added to the same attribute will be counted as such
# with this as well.
def size
error_count = 0
@errors.each_value { |attribute| error_count += attribute.length }
error_count
@errors.values.inject(0) { |error_count, attribute| error_count + attribute.size }
end
alias_method :count, :size
......@@ -290,7 +283,7 @@ def evaluate_condition(condition, record)
# method, proc or string should return or evaluate to a true or false value.
def validates_each(*attrs)
options = attrs.last.is_a?(Hash) ? attrs.pop.symbolize_keys : {}
attrs = attrs.flatten
attrs = attrs.flatten
# Declare the validation.
send(validation_method(options[:on] || :save)) do |record|
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册