obsolete.ChilliProject/vendor/plugins/prepend_engine_views/init.rb

23 lines
707 B
Ruby

#-- encoding: UTF-8
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