init.rb
21 lines
| 687 B
| text/x-ruby
|
RubyLexer
|
r2773 | module PrependEngineViews | ||
def self.included(base) | ||||
base.send(:include, InstanceMethods) | ||||
base.class_eval do | ||||
alias_method_chain :add_engine_view_paths, :prepend | ||||
end | ||||
end | ||||
module InstanceMethods | ||||
# Patch Rails so engine's views are prepended to the view_path, | ||||
# thereby letting plugins override application views | ||||
def add_engine_view_paths_with_prepend | ||||
paths = ActionView::PathSet.new(engines.collect(&:view_path)) | ||||
ActionController::Base.view_paths.unshift(*paths) | ||||
ActionMailer::Base.view_paths.unshift(*paths) if configuration.frameworks.include?(:action_mailer) | ||||
end | ||||
end | ||||
end | ||||
Rails::Plugin::Loader.send :include, PrependEngineViews | ||||