From da1968e4352a8ce4628b75c2872f8e84430e0587 Mon Sep 17 00:00:00 2001 From: Braulio Bhavamitra Date: Sat, 14 May 2016 10:51:13 -0300 Subject: [PATCH] Cleanup initialization --- app/models/application_record.rb | 4 ++-- config/application.rb | 28 ++++++++++++++-------------- config/environment.rb | 43 ++++--------------------------------------- config/initializers/00_dependencies.rb | 31 +++++++++++++++++++++++++++++++ config/initializers/dependencies.rb | 28 ---------------------------- config/initializers/plugins.rb | 1 + lib/noosfero.rb | 6 ++---- lib/noosfero/multi_tenancy.rb | 1 + 8 files changed, 55 insertions(+), 87 deletions(-) create mode 100644 config/initializers/00_dependencies.rb delete mode 100644 config/initializers/dependencies.rb diff --git a/app/models/application_record.rb b/app/models/application_record.rb index db23de6..f90f271 100644 --- a/app/models/application_record.rb +++ b/app/models/application_record.rb @@ -1,7 +1,7 @@ class ApplicationRecord < ActiveRecord::Base - self.abstract_class = true - + self.abstract_class = true + self.store_full_sti_class = true # an ActionView instance for rendering views on models def self.action_view diff --git a/config/application.rb b/config/application.rb index db2ac1e..9981739 100644 --- a/config/application.rb +++ b/config/application.rb @@ -1,20 +1,21 @@ -require File.expand_path('../boot', __FILE__) +require_relative 'boot' require 'rails/all' require 'active_support/dependencies' -# FIXME this silences the warnings about Rails 2.3-style plugins under -# vendor/plugins, which are deprecated. Hiding those warnings makes it easier -# to work for now, but we should really look at putting those plugins away. +# Silence Rails 5 deprecation warnings ActiveSupport::Deprecation.silenced = true Bundler.require(:default, :assets, Rails.env) +$: << File.expand_path('../lib', File.dirname(__FILE__)) + +require_dependency 'noosfero' +require_dependency 'noosfero/plugin' +require_dependency 'noosfero/multi_tenancy' module Noosfero class Application < Rails::Application - require 'noosfero/plugin' - # The plugin xss_terminator(located in vendor/plugins/xss_terminator) and the helper # SanitizeHelper(located in app/helpers/sanitize_helper.rb) use # ALLOWED_TAGS and ALLOWED_ATTRIBUTES to make a sanitize with html. @@ -30,9 +31,6 @@ module Noosfero config.action_view.sanitized_allowed_tags = ALLOWED_TAGS config.action_view.sanitized_allowed_attributes = ALLOWED_ATTRIBUTES - require 'noosfero/multi_tenancy' - config.middleware.use Noosfero::MultiTenancy::Middleware - config.action_controller.include_all_helpers = false # Settings in config/environments/* take precedence over those specified here. @@ -40,10 +38,11 @@ module Noosfero # -- all .rb files in that directory are automatically loaded. # Custom directories with classes and modules you want to be autoloadable. - config.autoload_paths += %W( #{config.root.join('app', 'sweepers')} ) - config.autoload_paths += Dir["#{config.root}/lib"] - config.autoload_paths += Dir["#{config.root}/app/controllers/**/"] - config.autoload_paths += %W( #{config.root.join('test', 'mocks', Rails.env)} ) + config.autoload_paths << config.root.join('lib') + config.autoload_paths << config.root.join('app/jobs') + config.autoload_paths << config.root.join('app/sweepers') + config.autoload_paths.concat Dir["#{config.root}/app/controllers/**/"] + config.autoload_paths << config.root.join('test', 'mocks', Rails.env) # Only load the plugins named here, in the order given (default is alphabetical). # :all can be used as a placeholder for all plugins not explicitly named. @@ -119,7 +118,8 @@ module Noosfero config.eager_load = true - Noosfero::Plugin.setup(config) + config.middleware.use Noosfero::MultiTenancy::Middleware + Noosfero::Plugin.setup(config) end end diff --git a/config/environment.rb b/config/environment.rb index ebfae64..9872d32 100644 --- a/config/environment.rb +++ b/config/environment.rb @@ -1,45 +1,10 @@ -# Load the rails application -require File.expand_path('../application', __FILE__) +require_relative 'application' -#FIXME Necessary hack to avoid the need of downgrading rubygems on rails 2.3.5 -# http://stackoverflow.com/questions/5564251/uninitialized-constant-activesupportdependenciesmutex -require 'thread' - -# Uncomment below to force Rails into production mode when -# you don't control web/app server and can't set it the proper way -#ENV['RAILS_ENV'] ||= 'production' - -# extra directories for controllers organization -extra_controller_dirs = %w[ -].map {|item| Rails.root.join(item) } - -# Add new inflection rules using the following format -# (all these examples are active by default): -# Inflector.inflections do |inflect| -# inflect.plural /^(ox)$/i, '\1en' -# inflect.singular /^(ox)en/i, '\1' -# inflect.irregular 'person', 'people' -# inflect.uncountable %w( fish sheep ) -# end - -# Include your application configuration below - -ActiveRecord::Base.store_full_sti_class = true - -#FIXME: Probably act_as_taggable_on is not being loaded or this should be on another place -#Tag.hierarchical = true - -# several local libraries -require_dependency 'noosfero' -#FIXME: error when call lib/sqlite_extention -#require 'sqlite_extension' +Noosfero::Application.initialize! # load a local configuration if present, but not under test environment. -if !['test', 'cucumber'].include?(ENV['RAILS_ENV']) +if ENV['RAILS_ENV'].in? %w[test cucumber] localconfigfile = Rails.root.join('config', 'local.rb') - if File.exists?(localconfigfile) - require localconfigfile - end + require localconfigfile if File.exists? localconfigfile end -Noosfero::Application.initialize! diff --git a/config/initializers/00_dependencies.rb b/config/initializers/00_dependencies.rb new file mode 100644 index 0000000..c18a827 --- /dev/null +++ b/config/initializers/00_dependencies.rb @@ -0,0 +1,31 @@ +require 'pp' + +# third-party libraries +require 'will_paginate' +require 'will_paginate/array' +require 'nokogiri' + +# dependencies at vendor, firstly loaded on Gemfile +vendor = Dir.glob('vendor/{,plugins/}*') - ['vendor/plugins'] +vendor.each do |dir| + init_rb = "#{Rails.root}/#{dir}/init.rb" + require init_rb if File.file? init_rb +end + +# extensions +require 'extensions' + +# locally-developed modules +require 'acts_as_filesystem' +require 'acts_as_having_settings' +require 'acts_as_having_boxes' +require 'acts_as_having_image' +require 'acts_as_having_posts' +require 'acts_as_customizable' +require 'route_if' +require 'maybe_add_http' +require 'set_profile_region_from_city_state' +require 'authenticated_system' +require 'needs_profile' +require 'white_list_filter' + diff --git a/config/initializers/dependencies.rb b/config/initializers/dependencies.rb deleted file mode 100644 index 0a38bb0..0000000 --- a/config/initializers/dependencies.rb +++ /dev/null @@ -1,28 +0,0 @@ -require 'pp' - -# third-party libraries -require 'will_paginate' -require 'will_paginate/array' -require 'nokogiri' - -# dependencies at vendor, firstly loaded on Gemfile -vendor = Dir.glob('vendor/{,plugins/}*') - ['vendor/plugins'] -vendor.each do |dir| - init_rb = "#{Rails.root}/#{dir}/init.rb" - require init_rb if File.file? init_rb -end - -# locally-developed modules -require 'acts_as_filesystem' -require 'acts_as_having_settings' -require 'acts_as_having_boxes' -require 'acts_as_having_image' -require 'acts_as_having_posts' -require 'acts_as_customizable' -require 'route_if' -require 'maybe_add_http' -require 'set_profile_region_from_city_state' -require 'authenticated_system' -require 'needs_profile' -require 'white_list_filter' - diff --git a/config/initializers/plugins.rb b/config/initializers/plugins.rb index 4422f60..35757b7 100644 --- a/config/initializers/plugins.rb +++ b/config/initializers/plugins.rb @@ -5,3 +5,4 @@ require 'noosfero/plugin/mailer_base' require 'noosfero/plugin/settings' require 'noosfero/plugin/spammable' Noosfero::Plugin.initialize! + diff --git a/lib/noosfero.rb b/lib/noosfero.rb index 26467c5..e8ba579 100644 --- a/lib/noosfero.rb +++ b/lib/noosfero.rb @@ -1,4 +1,5 @@ -# encoding: utf-8 +require_relative 'noosfero/version' +require_relative 'noosfero/constants' module Noosfero @@ -106,6 +107,3 @@ module Noosfero end -require 'noosfero/version' -require 'noosfero/constants' -require 'noosfero/core_ext' diff --git a/lib/noosfero/multi_tenancy.rb b/lib/noosfero/multi_tenancy.rb index b80a903..4c02734 100644 --- a/lib/noosfero/multi_tenancy.rb +++ b/lib/noosfero/multi_tenancy.rb @@ -17,6 +17,7 @@ module Noosfero end def self.setup!(host) + return unless Noosfero::MultiTenancy.on? Noosfero::MultiTenancy.db_by_host = host end -- libgit2 0.21.2