Sha256: dbfbbcb1ebb7647b0138941fa69951f563cfd815978958bb42f99045fb8fc22f
Contents?: true
Size: 1.43 KB
Versions: 1
Compression:
Stored size: 1.43 KB
Contents
# frozen_string_literal: true require 'active_support/concern' module Uploader module Fileuploads extend ActiveSupport::Concern included do class_attribute :fileupload_options, instance_writer: false delegate :asset, :multiple?, :params, :klass, :extension_whitelist, to: :fileupload_glue, prefix: :fileupload after_create :fileupload_update, if: :fileupload_changed? end module ClassMethods # Join ActiveRecord object with uploaded file # Usage: # # class Article < ActiveRecord::Base # has_one :picture, as: :assetable, dependent: :destroy # # fileuploads :picture # end # # def fileuploads(*args) options = args.extract_options! self.fileupload_options ||= {} args.each do |column| self.fileupload_options[column] = options end end end # Generate unique key per form def fileupload_guid @fileupload_guid ||= Uploader.guid end def fileupload_guid=(value) @fileupload_changed = (@fileupload_guid != value) if @fileupload_changed.nil? @fileupload_guid = value.blank? ? nil : value end def fileupload_changed? @fileupload_changed == true end protected def fileupload_glue @fileupload_glue ||= Uploader::FileuploadGlue.new(self) end def fileupload_update fileupload_glue.join! end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rails-uploader-0.5.9 | lib/uploader/fileuploads.rb |