Class: AttachmentSizeValidator

Inherits:
Attachs::Validators::Base show all
Includes:
ActionView::Helpers::NumberHelper
Defined in:
lib/attachs/validators/attachment_size_validator.rb

Instance Method Summary collapse

Instance Method Details

#validate_each(record, attribute, value) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/attachs/validators/attachment_size_validator.rb', line 4

def validate_each(record, attribute, value)
  if value.present? and not value.default?
    if options.has_key? :in
      unless options[:in].include? value.size
        add_error record, attribute, 'attachment_size_in', min: number_to_human_size(options[:in].begin), max: number_to_human_size(options[:in].end)
      end          
    else    
      if options.has_key? :less_than and value.size > options[:less_than]
        add_error record, attribute, 'attachment_size_less_than', count: number_to_human_size(options[:less_than])
      end         
      if options.has_key? :greater_than and value.size < options[:greater_than]
        add_error record, attribute, 'attachment_size_greater_than', count: number_to_human_size(options[:greater_than])
      end         
    end      
  end
end