From 7fcf8590e788cef8b64cc266f75931c418902ca9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Valim?= Date: Thu, 21 Jan 2010 23:14:20 +0100 Subject: Massive cleanup in Railties and load stack. --- railties/lib/rails/railtie.rb | 68 ++++++++++++++++++++++++------------------- 1 file changed, 38 insertions(+), 30 deletions(-) (limited to 'railties/lib/rails/railtie.rb') diff --git a/railties/lib/rails/railtie.rb b/railties/lib/rails/railtie.rb index e3297148e5..a7f52b25e4 100644 --- a/railties/lib/rails/railtie.rb +++ b/railties/lib/rails/railtie.rb @@ -2,43 +2,51 @@ module Rails class Railtie include Initializable - def self.plugin_name(plugin_name = nil) - @plugin_name ||= name.demodulize.underscore - @plugin_name = plugin_name if plugin_name - @plugin_name - end + ABSTRACT_RAILTIES = %w(Rails::Plugin Rails::Engine Rails::Application) - def self.inherited(klass) - @plugins ||= [] - @plugins << klass unless klass == Plugin - end + class << self + def abstract_railtie?(base) + ABSTRACT_RAILTIES.include?(base.name) + end - def self.plugins - @plugins - end + def inherited(base) + @@plugins ||= [] + @@plugins << base unless abstract_railtie?(base) + end - def self.plugin_names - plugins.map { |p| p.plugin_name } - end + def plugin_name(plugin_name = nil) + @plugin_name ||= name.demodulize.underscore + @plugin_name = plugin_name if plugin_name + @plugin_name + end - def self.config - Configuration.default - end + def plugins + @@plugins + end - def self.subscriber(subscriber) - Rails::Subscriber.add(plugin_name, subscriber) - end + def plugin_names + plugins.map { |p| p.plugin_name } + end - def self.rake_tasks(&blk) - @rake_tasks ||= [] - @rake_tasks << blk if blk - @rake_tasks - end + def config + Configuration.default + end + + def subscriber(subscriber) + Rails::Subscriber.add(plugin_name, subscriber) + end + + def rake_tasks(&blk) + @rake_tasks ||= [] + @rake_tasks << blk if blk + @rake_tasks + end - def self.generators(&blk) - @generators ||= [] - @generators << blk if blk - @generators + def generators(&blk) + @generators ||= [] + @generators << blk if blk + @generators + end end def rake_tasks -- cgit v1.2.3