discourse/app/models/permalink.rb

40 lines
816 B
Ruby

class Permalink < ActiveRecord::Base
belongs_to :topic
belongs_to :post
belongs_to :category
before_validation :normalize_url
def normalize_url
if self.url
self.url = self.url.strip
self.url = self.url[1..-1] if url[0,1] == '/'
end
end
def target_url
return external_url if external_url
return post.url if post
return topic.relative_url if topic
return category.url if category
nil
end
end
# == Schema Information
#
# Table name: permalinks
#
# id :integer not null, primary key
# url :string(1000) not null
# topic_id :integer
# post_id :integer
# category_id :integer
# created_at :datetime
# updated_at :datetime
# external_url :string(1000)
#
# Indexes
#
# index_permalinks_on_url (url) UNIQUE
#