Sha256: b88be7d90296bd752abd1def8191ea08aab8c45f3a46a815a517529aff8a97e4

Contents?: true

Size: 1.77 KB

Versions: 2

Compression:

Stored size: 1.77 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).paginate(
				:page => (params[:page] || 1),
				:per_page => 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

2 entries across 2 versions & 1 rubygems

Version Path
alchemy_cms-2.1.6 app/models/alchemy/attachment.rb
alchemy_cms-2.1.5 app/models/alchemy/attachment.rb