Sha256: 06982658ca392d12e1d3ce79b39106a4e25e5dcb53de2ffc691b7b76cac53a9a

Contents?: true

Size: 1.01 KB

Versions: 3

Compression:

Stored size: 1.01 KB

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'
    require 'rails-footnotes/abstract_note'
    require 'rails-footnotes/notes/all'

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

    load Rails.root.join('.footnotes') if Rails.root.join('.footnotes').exist?
  end

  def self.setup
    yield self
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
rails-footnotes-3.7.5.rc2 lib/rails-footnotes.rb
rails-footnotes-3.7.5.rc1 lib/rails-footnotes.rb
rails-footnotes-3.7.4 lib/rails-footnotes.rb