Sha256: 8035aa93db04bd23d351fc581142c40666460ebf0064d251ce4868159dac421f

Contents?: true

Size: 1.76 KB

Versions: 3

Compression:

Stored size: 1.76 KB

Contents

module Alchemy
  class Attachment < ActiveRecord::Base

    stampable

    has_attachment(
      :storage => :file_system,
      :file_system_path => 'uploads/attachments',
      :size => 0.kilobytes..1000.megabytes
    )
    validates_as_attachment

    def self.find_paginated(params, per_page)
      cond = "name LIKE '%#{params[:query]}%' OR filename LIKE '%#{params[:query]}%'"
      self.where(cond).page(params[:page] || 1).per(per_page).order(:name)
    end

    def urlname
      ::CGI.escape(read_attribute(:filename).split('.').first)
    end

    def extension
      filename.split(".").last
    end

    alias_method :suffix, :extension

    def icon_css_class
      case content_type
      when "application/x-flash-video" then "video"
      when "video/x-flv" then "video"
      when "video/mp4" then "video"
      when "video/mpeg" then "video"
      when "video/quicktime" then "video"
      when "video/x-msvideo" then "video"
      when "video/x-ms-wmv" then "video"
      when "application/zip" then "archive"
      when "application/x-rar" then "archive"
      when "audio/mpeg" then "audio"
      when "audio/mp4" then "audio"
      when "audio/wav" then "audio"
      when "audio/x-wav" then "audio"
      when "application/x-shockwave-flash" then "flash"
      when "image/gif" then "image"
      when "image/jpeg" then "image"
      when "image/png" then "image"
      when "image/tiff" then "image"
      when "image/x-psd" then "psd"
      when "text/plain" then "text"
      when "application/rtf" then "rtf"
      when "application/pdf" then "pdf"
      when "application/msword" then "word"
      when "application/vnd.ms-excel" then "excel"
      when "text/x-vcard" then "vcard"
      when "application/vcard" then "vcard"
      else "file"
      end
    end

  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
alchemy_cms-2.2.rc3 app/models/alchemy/attachment.rb
alchemy_cms-2.2.rc2 app/models/alchemy/attachment.rb
alchemy_cms-2.2.rc1 app/models/alchemy/attachment.rb