From 7b8399b80cfff58cfe2313187ca3c803de8c8955 Mon Sep 17 00:00:00 2001 From: Josh Susser Date: Wed, 24 Mar 2010 23:12:32 -0700 Subject: find railties and engines by name [4264 state:resolved] MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: José Valim --- railties/lib/rails/railtie.rb | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'railties/lib/rails/railtie.rb') diff --git a/railties/lib/rails/railtie.rb b/railties/lib/rails/railtie.rb index 37c802fb60..be5d4ff260 100644 --- a/railties/lib/rails/railtie.rb +++ b/railties/lib/rails/railtie.rb @@ -32,6 +32,10 @@ module Rails subclasses.map { |p| p.railtie_name } end + def named(name) + subclasses.detect { |r| r.railtie_name == name } + end + def log_subscriber(log_subscriber) Rails::LogSubscriber.add(railtie_name, log_subscriber) end -- cgit v1.2.3 From f5ee855f439feb7958504dc1d8e62aad4da5fac6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Valim?= Date: Fri, 26 Mar 2010 14:41:40 +0100 Subject: Improve heuristic for railties default name, otherwise railties may be named :railtie, :engine and so on. --- railties/lib/rails/railtie.rb | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'railties/lib/rails/railtie.rb') diff --git a/railties/lib/rails/railtie.rb b/railties/lib/rails/railtie.rb index be5d4ff260..b7f6c02503 100644 --- a/railties/lib/rails/railtie.rb +++ b/railties/lib/rails/railtie.rb @@ -9,7 +9,8 @@ module Rails include Initializable - ABSTRACT_RAILTIES = %w(Rails::Plugin Rails::Engine Rails::Application) + ABSTRACT_RAILTIES = %w(Rails::Railtie Rails::Plugin Rails::Engine Rails::Application) + RAILTIES_TYPES = ABSTRACT_RAILTIES.map { |r| r.split('::').last } class << self def subclasses @@ -17,7 +18,7 @@ module Rails end def inherited(base) - unless abstract_railtie?(base) + unless base.abstract_railtie? base.send(:include, self::Configurable) subclasses << base end @@ -52,14 +53,16 @@ module Rails @generators end - protected - - def abstract_railtie?(base) - ABSTRACT_RAILTIES.include?(base.name) + def abstract_railtie? + ABSTRACT_RAILTIES.include?(name) end + protected + def default_name - ActiveSupport::Inflector.underscore(ActiveSupport::Inflector.demodulize(name)) + namespaces = name.split("::") + namespaces.pop if RAILTIES_TYPES.include?(namespaces.last) + ActiveSupport::Inflector.underscore(namespaces.last).to_sym end end -- cgit v1.2.3 From fc266d7ec2cf1d3f9daf585ea6b79b61467a175f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Valim?= Date: Fri, 26 Mar 2010 16:12:35 +0100 Subject: Revert "find railties and engines by name [4264 state:resolved]" This reverts commit 7b8399b80cfff58cfe2313187ca3c803de8c8955. --- railties/lib/rails/railtie.rb | 4 ---- 1 file changed, 4 deletions(-) (limited to 'railties/lib/rails/railtie.rb') diff --git a/railties/lib/rails/railtie.rb b/railties/lib/rails/railtie.rb index b7f6c02503..f42985a904 100644 --- a/railties/lib/rails/railtie.rb +++ b/railties/lib/rails/railtie.rb @@ -33,10 +33,6 @@ module Rails subclasses.map { |p| p.railtie_name } end - def named(name) - subclasses.detect { |r| r.railtie_name == name } - end - def log_subscriber(log_subscriber) Rails::LogSubscriber.add(railtie_name, log_subscriber) end -- cgit v1.2.3 From 395d6648ce7549f71dd0a76dc061e87f608aaaab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Valim?= Date: Fri, 26 Mar 2010 18:47:55 +0100 Subject: Move application configuration to the application configuration object, remove railtie_name and engine_name and allow to set the configuration object. --- railties/lib/rails/railtie.rb | 22 ++++------------------ 1 file changed, 4 insertions(+), 18 deletions(-) (limited to 'railties/lib/rails/railtie.rb') diff --git a/railties/lib/rails/railtie.rb b/railties/lib/rails/railtie.rb index f42985a904..f2c58ef4e0 100644 --- a/railties/lib/rails/railtie.rb +++ b/railties/lib/rails/railtie.rb @@ -10,7 +10,6 @@ module Rails include Initializable ABSTRACT_RAILTIES = %w(Rails::Railtie Rails::Plugin Rails::Engine Rails::Application) - RAILTIES_TYPES = ABSTRACT_RAILTIES.map { |r| r.split('::').last } class << self def subclasses @@ -24,17 +23,12 @@ module Rails end end - def railtie_name(railtie_name = nil) - @railtie_name = railtie_name if railtie_name - @railtie_name ||= default_name + def railtie_name(*) + ActiveSupport::Deprecation.warn "railtie_name is deprecated and has no effect", caller end - def railtie_names - subclasses.map { |p| p.railtie_name } - end - - def log_subscriber(log_subscriber) - Rails::LogSubscriber.add(railtie_name, log_subscriber) + def log_subscriber(name, log_subscriber) + Rails::LogSubscriber.add(name, log_subscriber) end def rake_tasks(&blk) @@ -52,14 +46,6 @@ module Rails def abstract_railtie? ABSTRACT_RAILTIES.include?(name) end - - protected - - def default_name - namespaces = name.split("::") - namespaces.pop if RAILTIES_TYPES.include?(namespaces.last) - ActiveSupport::Inflector.underscore(namespaces.last).to_sym - end end def rake_tasks -- cgit v1.2.3