aboutsummaryrefslogtreecommitdiffstats
path: root/app/decorators/controllers/refinery/pages_controller_decorator.rb
blob: 034939ce78336bf074f3bcbae04b4565f11cecca (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
27
28
29
30
31
32
33
34
35
ApplicationController.class_eval do
  include Refinery::Blog::ControllerHelper

  before_filter :populate_sidebars
  before_filter :populate_home_page, :only => [:home]

  protected

    def populate_sidebars
      @sidebar_modules = {}

      Refinery::Blog::Category.all.each do |c|
        pos = c.sidebar_position
        unless pos == 0
          mod = []
          c.posts.limit(5).each do |post|
            mod << SidebarPostDecorator.new(post)
          end

          @sidebar_modules[pos] = {} unless @sidebar_modules[pos]
          @sidebar_modules[pos][c.title] = mod
        end
      end
    end

    def populate_home_page
      #
      # These methods are included from Refinery::Blog::ControllerHelper
      # Makes sure everyting is in place for the home page view template.
      #
      find_all_blog_posts
      find_all_blog_categories
      find_tags
    end
end