Sha256: d9a9d3fc7df9c6e9f3fbd2c79fbb593bbc64ade8fd5285abbbab13654d2827ac
Contents?: true
Size: 1.31 KB
Versions: 6
Compression:
Stored size: 1.31 KB
Contents
require_dependency 'spam_protection' class Trackback < Feedback belongs_to :article content_fields :excerpt validates_presence_of :title, :excerpt, :url attr_accessible :url, :blog_name, :title, :excerpt, :ip, :published, :article_id def initialize(*args, &block) super(*args, &block) self.title ||= self.url self.blog_name ||= "" end before_create :process_trackback def process_trackback if excerpt.length >= 251 # this limits excerpt to 250 chars, including the trailing "..." self.excerpt = excerpt[0..246] << "..." end end def article_allows_feedback? return true if article.allow_pings? errors.add(:article, 'Article is not pingable') false end def blog_allows_feedback? return true unless blog.global_pings_disable errors.add(:article, "Pings are disabled") false end def originator blog_name end def body excerpt end def body=(newval) self.excerpt = newval end def rss_author(xml) end def atom_author(xml) xml.author do xml.name blog_name xml.uri url end end def atom_title(xml) xml.title "Trackback from #{blog_name}: #{title} on #{article.title}", :type => 'html' end def rss_title(xml) xml.title "Trackback from #{blog_name}: #{title} on #{article.title}" end end
Version data entries
6 entries across 6 versions & 1 rubygems