aboutsummaryrefslogtreecommitdiffstats
path: root/app/models/refinery/blog/category.rb
blob: dc85b50e9bd9b9ab9af84b9052022309408f89c0 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
module Refinery
  module Blog
    class Category < ActiveRecord::Base

      has_many :categorizations, :dependent => :destroy, :foreign_key => :blog_category_id
      has_many :posts, :through => :categorizations, :source => :blog_post

      acts_as_indexed :fields => [:title]

      validates :title, :presence => true, :uniqueness => true

      has_friendly_id :title, :use_slug => true,
                      :default_locale => (::Refinery::I18n.default_frontend_locale rescue :en),
                      :approximate_ascii => Refinery::Setting.find_or_set(:approximate_ascii, false, :scoping => 'blog'),
                      :strip_non_ascii => Refinery::Setting.find_or_set(:strip_non_ascii, false, :scoping => 'blog')

      def post_count
        posts.select(&:live?).count
      end

      # how many items to show per page
      self.per_page = Refinery::Setting.find_or_set(:blog_posts_per_page, 10)

    end
  end
end