Class: Decidim::UploadValidationForm

Inherits:
Form show all
Includes:
HasUploadValidations
Defined in:
app/forms/decidim/upload_validation_form.rb

Overview

A form object used to handle upload validations, this is used when user is adding files to dropzone in upload modal.

Constant Summary

Constants included from AttributeObject::TypeMap

AttributeObject::TypeMap::Boolean, AttributeObject::TypeMap::Decimal

Instance Attribute Summary

Attributes inherited from AttributeObject::Form

#context

Instance Method Summary collapse

Methods included from HasUploadValidations

#attached_uploader, #maximum_avatar_size, #maximum_upload_size

Methods inherited from AttributeObject::Form

ensure_hash, from_model, from_params, hash_from, infer_model_name, #map_model, mimic, mimicked_model_name, model_name, #persisted?, #to_key, #to_model, #to_param, #valid?, #with_context

Methods included from AttributeObject::Model

#[], #[]=, #attributes, #attributes_with_values, #initialize, #to_h

Instance Method Details

#fileObject



21
22
23
24
25
26
27
28
29
30
31
32
# File 'app/forms/decidim/upload_validation_form.rb', line 21

def file
  org = organization
  PassthruValidator.new(
    attributes: [property],
    to: resource_class.constantize,
    with: lambda { |record|
      validate_with.tap do |hash|
        hash.merge!(organization: record.try(:organization) || org) if !hash[:organization] && record.respond_to?(:organization=)
      end
    }
  ).validate_each(self, property.to_sym, blob)
end