Files
nairobi/app/models/concerns/skip_validation.rb
Javi Martín efc46fe6c8 Add Performance/StringIdentifierArgument rule
It was added in rubocop-performance 1.13.0. We were already applying it
in most places.

We aren't adding it for performance reasons but in order to make the
code more consistent.
2023-01-11 16:05:20 +01:00

27 lines
874 B
Ruby

module SkipValidation
extend ActiveSupport::Concern
module ClassMethods
def skip_validation(field, validator)
validator_class = if validator.is_a?(Class)
validator
else
"ActiveModel::Validations::#{validator.to_s.camelize}Validator".constantize
end
_validators[field].reject! { |existing_validator| existing_validator.is_a?(validator_class) }
_validate_callbacks.each do |callback|
if callback.raw_filter.is_a?(validator_class)
callback.raw_filter.instance_variable_set(:@attributes, callback.raw_filter.attributes - [field])
end
end
end
def skip_translation_validation(field, validator)
skip_validation(field, validator)
translation_class.skip_validation(field, validator)
end
end
end