Sha256: 055dcda239ee49c186e11f1397f9f19db0bc6d00b976a886d79bf2dc3e1cea69

Contents?: true

Size: 1.58 KB

Versions: 6

Compression:

Stored size: 1.58 KB

Contents

module Blogit

  # Inherits from the application's controller instead of ActionController::Base
  class ApplicationController < ::ApplicationController
      
    helper :all
    helper_method :current_blogger, :blogit_conf
    
    # Sets a class method to specify a before-filter calling
    # whatever Blogit.configuration.authentication_method is set to
    # Accepts the usual before_filter optionss
    def self.blogit_authenticate(options ={})
      before_filter blogit_conf.authentication_method, options
    end
    
    # A helper method to access the Blogit::configuration
    # at the class level
    def self.blogit_conf
      Blogit::configuration
    end
    
    # Turns on page caching for the given actions if 
    # Blogit.configuration.include_admin_links is true
    def self.blogit_cacher(*args)
      if blogit_conf.include_admin_links
        caches_page *args
      end
    end
    
    def self.blogit_sweeper(*args)
      if blogit_conf.include_admin_links
        cache_sweeper Blogit::BlogitSweeper, only: args
      end
    end
    
    # A helper method to access the Blogit::configuration
    # at the controller instance level
    def blogit_conf
      self.class.blogit_conf
    end
    
    # Returns the currently logged in blogger by calling
    # whatever Blogit.current_blogger_method is set to
    def current_blogger
      send blogit_conf.current_blogger_method
    end
    
    # Returns true if the current_blogger is the owner of the post
    # @param post An instance of Blogit::Post
    def this_blogger?(post)
      current_blogger == post.blogger
    end
    
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
blogit-0.3.2 app/controllers/blogit/application_controller.rb
blogit-0.3.1 app/controllers/blogit/application_controller.rb
blogit-0.3.0 app/controllers/blogit/application_controller.rb
blogit-0.2.1 app/controllers/blogit/application_controller.rb
blogit-0.2.0 app/controllers/blogit/application_controller.rb
blogit-0.1.0 app/controllers/blogit/application_controller.rb