Sha256: c4a5bb80021916f68f3e3ba1085993b242edf305bd5b837803e50845458a1b8f

Contents?: true

Size: 1.23 KB

Versions: 14

Compression:

Stored size: 1.23 KB

Contents

# frozen_string_literal: true

module Decidim
  module Blogs
    # The data store for a Blog in the Decidim::Blogs component. It stores a
    # title, description and any other useful information to render a blog.
    class Post < Blogs::ApplicationRecord
      include Decidim::Resourceable
      include Decidim::HasComponent
      include Decidim::Authorable
      include Decidim::Comments::Commentable

      component_manifest_name "blogs"

      validates :title, presence: true

      scope :created_at_desc, -> { order(arel_table[:created_at].desc) }

      # Public: Overrides the `commentable?` Commentable concern method.
      def commentable?
        component.settings.comments_enabled?
      end

      # Public: Overrides the `accepts_new_comments?` Commentable concern method.
      def accepts_new_comments?
        commentable? && !component.current_settings.comments_blocked
      end

      # Public: Overrides the `comments_have_alignment?` Commentable concern method.
      def comments_have_alignment?
        true
      end

      # Public: Overrides the `comments_have_votes?` Commentable concern method.
      def comments_have_votes?
        true
      end

      def official?
        author.nil?
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
decidim-blogs-0.14.4 app/models/decidim/blogs/post.rb
decidim-blogs-0.14.3 app/models/decidim/blogs/post.rb
decidim-blogs-0.14.2 app/models/decidim/blogs/post.rb
decidim-blogs-0.14.1 app/models/decidim/blogs/post.rb
decidim-blogs-0.13.1 app/models/decidim/blogs/post.rb
decidim-blogs-0.12.2 app/models/decidim/blogs/post.rb
decidim-blogs-0.13.0 app/models/decidim/blogs/post.rb
decidim-blogs-0.12.1 app/models/decidim/blogs/post.rb
decidim-blogs-0.13.0.pre1 app/models/decidim/blogs/post.rb
decidim-blogs-0.12.0 app/models/decidim/blogs/post.rb
decidim-blogs-0.11.2 app/models/decidim/blogs/post.rb
decidim-blogs-0.12.0.pre app/models/decidim/blogs/post.rb
decidim-blogs-0.11.1 app/models/decidim/blogs/post.rb
decidim-blogs-0.11.0.pre1 app/models/decidim/blogs/post.rb