diff options
Diffstat (limited to 'railties/lib/rails/application')
-rw-r--r-- | railties/lib/rails/application/configuration.rb | 7 | ||||
-rw-r--r-- | railties/lib/rails/application/metal_loader.rb | 50 |
2 files changed, 1 insertions, 56 deletions
diff --git a/railties/lib/rails/application/configuration.rb b/railties/lib/rails/application/configuration.rb index 1b8af370f7..f3a326f36d 100644 --- a/railties/lib/rails/application/configuration.rb +++ b/railties/lib/rails/application/configuration.rb @@ -9,7 +9,7 @@ module Rails attr_accessor :allow_concurrency, :cache_classes, :cache_store, :encoding, :consider_all_requests_local, :dependency_loading, - :filter_parameters, :log_level, :logger, :metals, + :filter_parameters, :log_level, :logger, :plugins, :preload_frameworks, :reload_engines, :reload_plugins, :secret_token, :serve_static_assets, :session_options, :time_zone, :whiny_nils @@ -45,10 +45,6 @@ module Rails @middleware ||= app_middleware.merge_into(default_middleware_stack) end - def metal_loader - @metal_loader ||= Rails::Application::MetalLoader.new - end - def paths @paths ||= begin paths = super @@ -157,7 +153,6 @@ module Rails middleware.use('::ActionDispatch::ParamsParser') middleware.use('::Rack::MethodOverride') middleware.use('::ActionDispatch::Head') - middleware.use(lambda { metal_loader.build_middleware(metals) }, :if => lambda { metal_loader.metals.any? }) end end end diff --git a/railties/lib/rails/application/metal_loader.rb b/railties/lib/rails/application/metal_loader.rb deleted file mode 100644 index 2a43fa7892..0000000000 --- a/railties/lib/rails/application/metal_loader.rb +++ /dev/null @@ -1,50 +0,0 @@ -require 'action_dispatch' - -module Rails - class Application - class MetalLoader - attr_reader :paths, :metals - - def initialize - @paths, @metals = [], [] - end - - def build_middleware(list=nil) - load_metals!(list) - self - end - - def new(app) - ActionDispatch::Cascade.new(@metals, app) - end - - def name - ActionDispatch::Cascade.name - end - alias :to_s :name - - protected - - def load_metals!(list) - metals = [] - list = Array(list || :all).map(&:to_sym) - - paths.each do |path| - matcher = /\A#{Regexp.escape(path)}\/(.*)\.rb\Z/ - Dir.glob("#{path}/**/*.rb").sort.each do |metal_path| - metal = metal_path.sub(matcher, '\1').to_sym - next unless list.include?(metal) || list.include?(:all) - require_dependency metal.to_s - metals << metal - end - end - - metals = metals.sort_by do |m| - [list.index(m) || list.index(:all), m.to_s] - end - - @metals = metals.map { |m| m.to_s.camelize.constantize } - end - end - end -end |