init.rb in caterpillar-0.9.16 vs init.rb in caterpillar-1.0.0

- old
+ new

@@ -1,8 +1,35 @@ +# Rails plugin initialization. + file = File.symlink?(__FILE__) ? File.readlink(__FILE__) : __FILE__ this_dir = File.dirname(File.expand_path(file)) -# append the views path -ActionController::Base.append_view_path File.join(this_dir, 'views') - # load the main file require File.join(this_dir, 'lib', 'caterpillar') + +STDERR.puts 'Caterpillar: version %s' % Caterpillar::VERSION + +# Add Caterpillar portlet navigation to views paths +ActionController::Base.append_view_path File.join(this_dir, 'views') + +### Portlet test bench + # Adding directories to the load path makes them appear just like files in the the main app directory. + ActiveSupport::Dependencies.load_paths << File.join(this_dir, 'portlet_test_bench', 'controllers') + ActiveSupport::Dependencies.load_paths << File.join(this_dir, 'portlet_test_bench', 'helpers') + + # Removing a directory from the load once paths allow changes + # to be picked up as soon as you save the file – without having to restart the web server. + ActiveSupport::Dependencies.load_once_paths.delete(File.join(this_dir, 'portlet_test_bench')) + + # Add views + ActionController::Base.append_view_path File.join(this_dir, 'portlet_test_bench','views') + + # Define routes + # NOTE: the routes need to be activated by 'map.caterpillar' in RAILS_ROOT/config/routes.rb + require File.join(this_dir, 'portlet_test_bench', 'routing') + ActionController::Routing::RouteSet::Mapper.send :include, Caterpillar::Routing::MapperExtensions + + # hack; the application controller needs to be loaded explicitly, + # but NOT for standard Caterpillar tasks (breaks the tasks) + unless $0[/caterpillar|generate/] + require File.join(this_dir, 'portlet_test_bench','controllers','caterpillar','application') + end