Sha256: afee4cdbb412baceb1037e08c3ff6db115830f09c4f4d9046414890db77c2bde
Contents?: true
Size: 1.5 KB
Versions: 2
Compression:
Stored size: 1.5 KB
Contents
class Cms::File < ActiveRecord::Base IMAGE_MIMETYPES = %w(gif jpeg pjpeg png svg+xml tiff).collect{|subtype| "image/#{subtype}"} ComfortableMexicanSofa.establish_connection(self) set_table_name :cms_files cms_is_categorized # -- AR Extensions -------------------------------------------------------- has_attached_file :file, ComfortableMexicanSofa.config.upload_file_options # -- Relationships -------------------------------------------------------- belongs_to :site belongs_to :block # -- Validations ---------------------------------------------------------- validates :site_id, :presence => true validates_attachment_presence :file # -- Callbacks ------------------------------------------------------------ before_save :assign_label before_create :assign_position after_save :reload_page_cache after_destroy :reload_page_cache # -- Scopes --------------------------------------------------------------- scope :images, where(:file_content_type => IMAGE_MIMETYPES) scope :not_images, where('file_content_type NOT IN (?)', IMAGE_MIMETYPES) protected def assign_label self.label = self.label.blank?? self.file_file_name.gsub(/\.[^\.]*?$/, '').titleize : self.label end def assign_position max = Cms::File.maximum(:position) self.position = max ? max + 1 : 0 end # FIX: Terrible, but no way of creating cached page content overwise def reload_page_cache return unless self.block self.block.page.save! end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
comfortable_mexican_sofa-1.5.6 | app/models/cms/file.rb |
comfortable_mexican_sofa-1.5.5 | app/models/cms/file.rb |