Sha256: bbfb19bbe035088edc70e0c4810f148a81b4bba77b6ce9ceb874cc2835873e14

Contents?: true

Size: 683 Bytes

Versions: 3

Compression:

Stored size: 683 Bytes

Contents

module Elabs
  class Article < ApplicationContentRecord
    self.table_name = 'articles'

    ADDITIONAL_HABTM_COUNTER_CACHES = [
      %w[projects articles]
    ].freeze

    validates :title,   presence: true
    validates :excerpt, presence: true
    validates :content, presence: true
    validates_with AssociatedAuthorValidator, relations: %w[project]

    belongs_to :user
    belongs_to :license
    belongs_to :language
    has_many :articles_tags
    has_many :projects_articles
    has_many :tags,     through: :articles_tags,     dependent: :destroy
    has_many :projects, through: :projects_articles, dependent: :destroy
    has_many :comments, as: 'content'
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
elabs-3.0.0 app/models/elabs/article.rb
elabs-2.0.0 app/models/elabs/article.rb
elabs-2.0.0.pre app/models/elabs/article.rb