diff options
author | José Valim <jose.valim@gmail.com> | 2009-06-16 17:10:40 +0200 |
---|---|---|
committer | José Valim <jose.valim@gmail.com> | 2009-06-19 16:10:43 +0200 |
commit | d57b19380eaad8bda63743107f085e72935343b9 (patch) | |
tree | 7414fbcb3d2609b48f2974e90d0646169d59b524 /railties/lib/generator/base.rb | |
parent | ceede90017bb1c753b5ca8b80216d59400b0f0ba (diff) | |
download | rails-d57b19380eaad8bda63743107f085e72935343b9.tar.gz rails-d57b19380eaad8bda63743107f085e72935343b9.tar.bz2 rails-d57b19380eaad8bda63743107f085e72935343b9.zip |
Add base and port actions. Not functional though.
Diffstat (limited to 'railties/lib/generator/base.rb')
-rw-r--r-- | railties/lib/generator/base.rb | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/railties/lib/generator/base.rb b/railties/lib/generator/base.rb new file mode 100644 index 0000000000..ea1e5a0402 --- /dev/null +++ b/railties/lib/generator/base.rb @@ -0,0 +1,36 @@ +require File.dirname(__FILE__) + '/actions' + +# TODO Use vendored Thor +require 'rubygems' +gem 'josevalim-thor' +require 'thor' + +module Rails + module Generators + class Base < Thor::Group + include Rails::Generators::Actions + include Thor::Actions + + # Make aliases for backwards compatibily. Usa no_tasks to avoid aliases + # from becoming tasks. + # + no_tasks { + alias :file :create_file + alias :log :say_status + } + + # Automatically sets the source root based on the class name. + # + def self.source_root + @source_root ||= begin + klass_name = self.name + klass_name.gsub!(/^Rails::Generators::/, '') + klass_name.gsub!(/([A-Z]+)([A-Z][a-z])/,'\1_\2') + klass_name.gsub!(/([a-z\d])([A-Z])/,'\1_\2') + File.join(File.dirname(__FILE__), 'templates', klass_name.downcase) + end + end + + end + end +end |