Class: ActiveStorageValidations::LimitValidator
- Inherits:
-
ActiveModel::EachValidator
- Object
- ActiveModel::EachValidator
- ActiveStorageValidations::LimitValidator
- Includes:
- ASVActiveStorageable, ASVErrorable, ASVOptionable, ASVSymbolizable
- Defined in:
- lib/active_storage_validations/limit_validator.rb
Overview
:nodoc:
Constant Summary collapse
- AVAILABLE_CHECKS =
%i[max min].freeze
- ERROR_TYPES =
%i[ limit_out_of_range ].freeze
Instance Method Summary collapse
Methods included from ASVErrorable
#add_error, #initialize_error_options
Instance Method Details
#check_validity! ⇒ Object
20 21 22 23 |
# File 'lib/active_storage_validations/limit_validator.rb', line 20 def check_validity! ensure_at_least_one_validator_option ensure_arguments_validity end |
#validate_each(record, attribute, _value) ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/active_storage_validations/limit_validator.rb', line 25 def validate_each(record, attribute, _value) files = attached_files(record, attribute).reject(&:blank?) = (record) return if files_count_valid?(files.count, ) = () [:min] = [:min] [:max] = [:max] add_error(record, attribute, ERROR_TYPES.first, **) end |