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.rb26
1 files changed, 26 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..dc85b50
--- /dev/null
+++ b/app/models/refinery/blog/category.rb
@@ -0,0 +1,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 \ No newline at end of file