Sha256: ae758c3c2f8d40d6c3d5b34ccb3c567fa45c58cd36f96503d733bba925982292

Contents?: true

Size: 791 Bytes

Versions: 8

Compression:

Stored size: 791 Bytes

Contents

module Dorsale
  module Alexandrie
    class Attachment < ActiveRecord::Base
      self.table_name = "dorsale_alexandrie_attachments"

      belongs_to :attachable, polymorphic: true
      belongs_to :sender,     polymorphic: true

      validates :attachable, presence: true
      validates :file,       presence: true

      mount_uploader :file, ::Dorsale::Alexandrie::FileUploader

      before_save :set_default_name

      default_scope -> {
        order(id: :desc)
      }

      def set_default_name
        self.name = file_identifier if name.blank?
      end

      def download_filename
        if File.extname(file_identifier) == File.extname(name)
          name
        else
          name.parameterize + File.extname(file_identifier)
        end
      end

    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
dorsale-3.0.3 app/models/dorsale/alexandrie/attachment.rb
dorsale-3.0.2 app/models/dorsale/alexandrie/attachment.rb
dorsale-3.0.1 app/models/dorsale/alexandrie/attachment.rb
dorsale-3.0.0 app/models/dorsale/alexandrie/attachment.rb
dorsale-2.7.3 app/models/dorsale/alexandrie/attachment.rb
dorsale-2.7.2 app/models/dorsale/alexandrie/attachment.rb
dorsale-2.7.1 app/models/dorsale/alexandrie/attachment.rb
dorsale-2.7.0 app/models/dorsale/alexandrie/attachment.rb