Sha256: 35b36b5149741bd0008a2bb94e18a9642de925d14c126f0f487482ab41625317

Contents?: true

Size: 976 Bytes

Versions: 3

Compression:

Stored size: 976 Bytes

Contents

module Footnotes
  mattr_accessor :before_hooks
  @@before_hooks = []

  mattr_accessor :after_hooks
  @@after_hooks = []

  def self.before(&block)
    @@before_hooks << block
  end

  def self.after(&block)
    @@after_hooks << block
  end

  # The footnotes are applied by default to all actions. You can change this
  # behavior commenting the after_filter line below and putting it in Your
  # application. Then you can cherrypick in which actions it will appear.
  #
  module RailsFootnotesExtension
    def self.included(base)
      base.prepend_before_filter Footnotes::BeforeFilter
      base.after_filter Footnotes::AfterFilter
    end
  end

  def self.run!
    require 'rails-footnotes/footnotes'
    require 'rails-footnotes/backtracer'

    Dir[File.join(File.dirname(__FILE__), 'rails-footnotes', 'notes', '*.rb')].each { |note| require note }

    ActionController::Base.send(:include, RailsFootnotesExtension)
  end

  def self.setup
    yield self
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
rails-footnotes-3.7.2 lib/rails-footnotes.rb
rails-footnotes-3.7.1 lib/rails-footnotes.rb
rails-footnotes-3.7.1.pre lib/rails-footnotes.rb