From 1d4060c5d98e72d629ffab4837a456eaf31d87ef Mon Sep 17 00:00:00 2001 From: AntonioTerceiro Date: Wed, 22 Aug 2007 19:29:17 +0000 Subject: [PATCH] ActionItem18: better organization for Comatose integration code --- config/environment.rb | 33 +-------------------------------- lib/comatose_integration.rb | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 32 deletions(-) create mode 100644 lib/comatose_integration.rb diff --git a/config/environment.rb b/config/environment.rb index 7e4bb50..68b1ebb 100644 --- a/config/environment.rb +++ b/config/environment.rb @@ -55,36 +55,5 @@ end require 'gettext/rails' Tag.hierarchical = true -Comatose.configure do |config| - config.admin_get_root_page do - Comatose::Page.find_by_path(request.parameters[:profile]) - end - config.admin_authorization do |config| - Profile.exists?(:identifier => request.parameters[:profile]) - # FIXME: also check permissions - end - config.admin_includes << :authenticated_system - config.admin_helpers << :application_helper -end -Comatose::AdminController.design :holder => 'virtual_community' -Comatose::AdminController.before_filter do |controller| - # TODO: copy/paste; extract this into a method (see - # app/controllers/application.rb) - domain = Domain.find_by_name(controller.request.host) - if domain.nil? - virtual_community = VirtualCommunity.default - else - virtual_community = domain.virtual_community - profile = domain.profile - end - controller.instance_variable_set('@virtual_community', virtual_community) -end +require 'comatose_integration' -# taken from http://blog.spotstory.com/2007/04/19/upgrading-to-rails-12/ -# Array of plugins with Application model dependencies. -reloadable_plugins = ["design"] -# Force these plugins to reload, avoiding stale object references. -reloadable_plugins.each do |plugin_name| - reloadable_path = RAILS_ROOT + "/vendor/plugins/#{plugin_name}/lib" - Dependencies.load_once_paths.delete(reloadable_path) -end diff --git a/lib/comatose_integration.rb b/lib/comatose_integration.rb new file mode 100644 index 0000000..f9be106 --- /dev/null +++ b/lib/comatose_integration.rb @@ -0,0 +1,33 @@ +require 'comatose' + +class Comatose::Page + def self.icon + 'text-x-generic' + end +end + +Comatose.configure do |config| + config.admin_get_root_page do + Comatose::Page.find_by_path(request.parameters[:profile]) + end + config.admin_authorization do |config| + Profile.exists?(:identifier => request.parameters[:profile]) + # FIXME: also check permissions + end + config.admin_includes << :authenticated_system + config.admin_helpers << :application_helper + config.admin_helpers << :document +end +Comatose::AdminController.design :holder => 'virtual_community' +Comatose::AdminController.before_filter do |controller| + # TODO: copy/paste; extract this into a method (see + # app/controllers/application.rb) + domain = Domain.find_by_name(controller.request.host) + if domain.nil? + virtual_community = VirtualCommunity.default + else + virtual_community = domain.virtual_community + profile = domain.profile + end + controller.instance_variable_set('@virtual_community', virtual_community) +end -- libgit2 0.21.2