Sha256: 6134a13ad7251993a25216169ef6e93c896958b23690a21d62fc33473cd89e32
Contents?: true
Size: 1.89 KB
Versions: 2
Compression:
Stored size: 1.89 KB
Contents
class Ecm::Pictures::Picture < ActiveRecord::Base self.table_name = 'ecm_pictures_pictures' # associations belongs_to :picture_gallery, :counter_cache => true has_many :attached_pictures, :foreign_key => 'ecm_pictures_picture_id' # attributes attr_accessible :description, :image, :markup_language, :name, :picture_gallery_id, :position if respond_to?(:attr_accessible) # acts as list acts_as_list :scope => :picture_gallery # acts as markup acts_as_markup :language => :variable, :columns => [ :description, :description ] # callbacks after_initialize :set_defaults before_validation :set_name_from_image_file_name, :if => Proc.new { |p| ( p.name.nil? || p.name.empty? ) } # default scope default_scope { order(:picture_gallery_id, :position) } # friendly id extend FriendlyId friendly_id :name, :use => [:slugged, :finders] # paperclip has_attached_file :image, Ecm::Pictures::Configuration.paperclip_options # validations validates :image, :attachment_presence => true # validates_attachment_presence :image validates_attachment :image, content_type: { content_type: /\Aimage\/.*\Z/ } validates :markup_language, :presence => true, :inclusion => Ecm::Pictures::Configuration.markup_languages validates :name, :presence => true def display_code(style) case style when :erb "<%= render_picture '#{self.name}' %>" when :textile "!#{image.url}!".gsub(/(\?[0-9]{1,})/, '') else end end def to_s name end private def set_defaults if self.new_record? self.markup_language ||= Ecm::Pictures::Configuration.default_markup_language end end def set_name_from_image_file_name self.name = File.basename(image_file_name, File.extname(image_file_name)) unless image_file_name.nil? end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ecm_pictures2-1.1.2 | app/models/ecm/pictures/picture.rb |
ecm_pictures2-1.1.1 | app/models/ecm/pictures/picture.rb |