Sha256: dd14ba2c8e561c7df8d86faee4b6e40c6121fa19011697ea96abca3b611c1bf9

Contents?: true

Size: 700 Bytes

Versions: 5

Compression:

Stored size: 700 Bytes

Contents

module Avo
  module Fields
    class FilesField < BaseField
      attr_accessor :is_image

      def initialize(name, **args, &block)
        @defaults = {
          partial_name: 'files-field',
        }.merge(@defaults || {})

        super(name, **args, &block)

        @is_array_param = true
        @file_field = true
        @is_image = args[:is_image].present? ? args[:is_image] : @is_avatar
      end

      def to_permitted_param
        { "#{id}": [] }
      end

      def fill_field(model, key, value)
        return model unless model.methods.include? key.to_sym

        value.each do |file|
          model.send(key).attach file
        end

        model
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
avo-0.5.0.beta9 lib/avo/fields/files_field.rb
avo-0.5.0.beta8 lib/avo/fields/files_field.rb
avo-0.5.0.beta7 lib/avo/fields/files_field.rb
avo-0.5.0.beta6 lib/avo/fields/files_field.rb
avo-0.5.0.beta5 lib/avo/fields/files_field.rb