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.
27 lines
874 B
Ruby
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
|