Sha256: fb22632282b8c213697b644f48134d8b8eed08c08bbdd258bd042dafc76a38aa
Contents?: true
Size: 1.33 KB
Versions: 1
Compression:
Stored size: 1.33 KB
Contents
class Content < ActiveRecord::Base belongs_to :page validates_associated :page validates_presence_of :title default_scope order(:position) has_attached_file :attachment, :styles => Proc.new{ |clip| clip.instance.attachment_sizes }, :default_style => :preview cattr_reader :per_page @@per_page = 10 scope :for, Proc.new{|context| where(:context => context)} [ :link_text, :link, :body ].each do |property| define_method "has_#{property.to_s}?" do has_value property end end def has_full_link? has_link? && has_link_text? end def has_image? has_value(:attachment_file_name) && attachment_file_name.match(/gif|jpg|png/i) end def hide_title? self.hide_title == true end def rendered_body RDiscount.new(body.to_s).to_html.html_safe end def default_attachment_sizes { :mini => '48x48>', :medium => '427x287>' } end def attachment_sizes case self.context when 'slideshow' sizes = default_attachment_sizes.merge(:slide => '955x476#') else sizes = default_attachment_sizes end sizes end def context=(value) write_attribute :context, value.to_s.parameterize end private def has_value(selector) v = self.send selector v && !v.to_s.blank? end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
spree_essential_cms-0.1.2 | app/models/content.rb |