aboutsummaryrefslogtreecommitdiffstats
path: root/app/models/refinery/blog_category.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/refinery/blog_category.rb')
-rw-r--r--app/models/refinery/blog_category.rb21
1 files changed, 21 insertions, 0 deletions
diff --git a/app/models/refinery/blog_category.rb b/app/models/refinery/blog_category.rb
new file mode 100644
index 0000000..7a35e67
--- /dev/null
+++ b/app/models/refinery/blog_category.rb
@@ -0,0 +1,21 @@
+module Refinery
+ class BlogCategory < ActiveRecord::Base
+
+ has_many :categorizations, :dependent => :destroy
+ 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
+
+ end
+end