From d5bdf31d892136d59302adb14328db0417c70d76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Valim?= Date: Thu, 25 Jun 2009 13:46:19 +0200 Subject: Refactoring out descriptions. --- railties/lib/generators/base.rb | 25 ++++++++++++++++------ .../lib/generators/erb/mailer/mailer_generator.rb | 5 ----- .../test_unit/mailer/mailer_generator.rb | 5 ----- .../test_unit/observer/observer_generator.rb | 5 ----- .../test_unit/plugin/plugin_generator.rb | 5 ----- 5 files changed, 18 insertions(+), 27 deletions(-) diff --git a/railties/lib/generators/base.rb b/railties/lib/generators/base.rb index e009998bfa..c00ce9d342 100644 --- a/railties/lib/generators/base.rb +++ b/railties/lib/generators/base.rb @@ -15,16 +15,27 @@ module Rails @source_root ||= File.expand_path(File.join(File.dirname(__FILE__), base_name, generator_name, 'templates')) end + # Tries to get the description from a USAGE file one folder above the source + # root otherwise uses a default description. + # + def self.desc(description=nil) + return super if description + usage = File.join(source_root, "..", "USAGE") + + @desc ||= if File.exist?(usage) + File.read(usage) + else + "Description:\n Create #{base_name.humanize.downcase} files for #{generator_name} generator." + end + end + # Convenience method to get the namespace from the class name. It's the # same as Thor default except that the Generator at the end of the class # is removed. # - def self.namespace(name=nil) #:nodoc: - if name - super - else - @namespace ||= "#{base_name}:generators:#{generator_name}" - end + def self.namespace(name=nil) + return super if name + @namespace ||= "#{base_name}:generators:#{generator_name}" end protected @@ -70,7 +81,7 @@ module Rails # Sets the base_name taking into account the current class namespace. # - def self.base_name #:nodoc: + def self.base_name @base_name ||= self.name.split('::').first.underscore end diff --git a/railties/lib/generators/erb/mailer/mailer_generator.rb b/railties/lib/generators/erb/mailer/mailer_generator.rb index 2458762a9d..9b615d6608 100644 --- a/railties/lib/generators/erb/mailer/mailer_generator.rb +++ b/railties/lib/generators/erb/mailer/mailer_generator.rb @@ -3,11 +3,6 @@ module Erb class MailerGenerator < Base argument :actions, :type => :array, :default => [] - desc < :array, :default => [] - desc <