madebymany / sir-trevor-rails

Rails gem for Sir Trevor integration.
MIT License
149 stars 50 forks source link

mongoid support #28

Closed Fudoshiki closed 10 years ago

Fudoshiki commented 10 years ago

module SirTrevorRails class Engine < Rails::Engine

require 'redcarpet'

config.after_initialize do |app|
  app.config.paths.add 'app/sir_trevor_blocks', eager_load: true
end

initializer "sir_trevor_rails.load_app_instance_data" do |app|
  SirTrevorRails.setup do |config|
    config.app_root = app.root
  end
end

initializer "sir_trevor_rails.helpers" do
  ActiveSupport.on_load :action_view do
    ActionView::Base.send :include, SirTrevorRails::Helpers::ViewHelper
  end
end

initializer "sir_trevor_rails.view_resolver" do
  ActiveSupport.on_load :action_controller do
    ActionController::Base.send :append_view_path, SirTrevorRails::ViewResolver.new
  end
end

initializer "sir_trevor_rails.has_sir_trevor_content" do
  if defined?(Mongoid::Document)
    ActiveSupport.on_load :mongoid do
      Mongoid::Document::ClassMethods.send :include, SirTrevorRails::HasSirTrevorContent::SingletonMethods
    end
  else
    ActiveSupport.on_load :active_record do
      ActiveRecord::Base.send :include, SirTrevorRails::HasSirTrevorContent
    end
  end
end

end end