aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/generator/base.rb
diff options
context:
space:
mode:
authorJosé Valim <jose.valim@gmail.com>2009-06-16 17:10:40 +0200
committerJosé Valim <jose.valim@gmail.com>2009-06-19 16:10:43 +0200
commitd57b19380eaad8bda63743107f085e72935343b9 (patch)
tree7414fbcb3d2609b48f2974e90d0646169d59b524 /railties/lib/generator/base.rb
parentceede90017bb1c753b5ca8b80216d59400b0f0ba (diff)
downloadrails-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.rb36
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