Report abuse


			
module Kindling

  mattr_accessor :before_filters
  mattr_accessor :after_filters
  self.before_filters ||= []
  self.after_filters ||= []

  def service(*args)
    before_filters.each {|sym| send(sym) }
    returning super(*args) do
      after_filters.each {|sym| send(sym) }
    end
  end

  module Setters            
    def before_filter(sym)
      Kindling::before_filters << sym.to_sym
    end

    def after_filter(sym)
      Kindling::after_filters << sym.to_sym
    end
  end

end

module Blog
  include Kindling
  extend Kindling::Setters

  before_filter(:set_value)

  def set_value
    @my_value = "Before filter!"
  end
end