-
-
Notifications
You must be signed in to change notification settings - Fork 94
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
pass options to errors.add
as kwargs
#50
Conversation
@@ -47,7 +47,7 @@ def validate_blacklist(record, attribute, value) | |||
end | |||
|
|||
def mark_invalid(record, attribute, types) | |||
record.errors.add attribute, :invalid, options.merge(types: types.join(", ")) | |||
record.errors.add attribute, :invalid, **options.merge(types: types.join(", ")) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Metrics/LineLength: Line is too long. [87/80]
Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
@@ -43,7 +43,7 @@ def validate_blacklist(record, attribute, value) | |||
end | |||
|
|||
def mark_invalid(record, attribute, patterns) | |||
record.errors.add attribute, :invalid, options.merge(names: patterns.join(", ")) | |||
record.errors.add attribute, :invalid, **options.merge(names: patterns.join(", ")) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Metrics/LineLength: Line is too long. [90/80]
Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
@@ -4,7 +4,7 @@ module Paperclip | |||
module Validators | |||
class AttachmentPresenceValidator < ActiveModel::EachValidator | |||
def validate_each(record, attribute, _value) | |||
record.errors.add(attribute, :blank, options) if record.send("#{attribute}_file_name").blank? | |||
record.errors.add(attribute, :blank, **options) if record.send("#{attribute}_file_name").blank? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Metrics/LineLength: Line is too long. [103/80]
@@ -39,7 +39,7 @@ def validate_each(record, attr_name, value) | |||
unless value.send(CHECKS[option], option_value) | |||
error_message_key = options[:in] ? :in_between : option | |||
error_attrs.each do |error_attr_name| | |||
record.errors.add(error_attr_name, error_message_key, filtered_options(value).merge( | |||
record.errors.add(error_attr_name, error_message_key, **filtered_options(value).merge( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Metrics/LineLength: Line is too long. [102/80]
Oops, #48 already addresses this. |
Rails 6.1 expects the options to
ActiveModel::Errors#add
to be kwargs and Ruby 3.0 raises awrong number of arguments
error if we try to pass in the options as a hash.Passing them in as kwargs should work with earlier versions or Rails, where the options param was a hash, as well.