aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/rails/generators/rails/generator
diff options
context:
space:
mode:
authorJosé Valim <jose.valim@gmail.com>2010-03-23 13:40:19 +0100
committerJosé Valim <jose.valim@gmail.com>2010-03-23 13:40:41 +0100
commitb61f6f59805eec4f5bb873a85910c9fe00e839a9 (patch)
tree485dc3cee827ab4d79756e90d639ccc4dad464e1 /railties/lib/rails/generators/rails/generator
parentb144b56d8288246f0de7437d10361a0f1ed2bd83 (diff)
downloadrails-b61f6f59805eec4f5bb873a85910c9fe00e839a9.tar.gz
rails-b61f6f59805eec4f5bb873a85910c9fe00e839a9.tar.bz2
rails-b61f6f59805eec4f5bb873a85910c9fe00e839a9.zip
Load generators from both lib/rails/generators and lib/generators. Using the former since it's less obstrusive.
Diffstat (limited to 'railties/lib/rails/generators/rails/generator')
-rw-r--r--railties/lib/rails/generators/rails/generator/USAGE11
-rw-r--r--railties/lib/rails/generators/rails/generator/generator_generator.rb25
-rw-r--r--railties/lib/rails/generators/rails/generator/templates/%file_name%_generator.rb.tt5
-rw-r--r--railties/lib/rails/generators/rails/generator/templates/USAGE.tt8
-rw-r--r--railties/lib/rails/generators/rails/generator/templates/templates/.empty_directory0
5 files changed, 49 insertions, 0 deletions
diff --git a/railties/lib/rails/generators/rails/generator/USAGE b/railties/lib/rails/generators/rails/generator/USAGE
new file mode 100644
index 0000000000..d8c3f7f634
--- /dev/null
+++ b/railties/lib/rails/generators/rails/generator/USAGE
@@ -0,0 +1,11 @@
+Description:
+ Stubs out a new generator at lib/generators. Pass the generator name, either
+ CamelCased or under_scored, as an argument.
+
+Example:
+ `rails generate generator Awesome`
+
+ creates a standard awesome generator:
+ lib/generators/awesome/
+ lib/generators/awesome/awesome_generator.rb
+ lib/generators/awesome/templates/
diff --git a/railties/lib/rails/generators/rails/generator/generator_generator.rb b/railties/lib/rails/generators/rails/generator/generator_generator.rb
new file mode 100644
index 0000000000..5b5d1884bc
--- /dev/null
+++ b/railties/lib/rails/generators/rails/generator/generator_generator.rb
@@ -0,0 +1,25 @@
+module Rails
+ module Generators
+ class GeneratorGenerator < NamedBase
+ check_class_collision :suffix => "Generator"
+
+ class_option :namespace, :type => :boolean, :default => true,
+ :desc => "Namespace generator under lib/generators/name"
+
+ def create_generator_files
+ directory '.', generator_dir
+ end
+
+ protected
+
+ def generator_dir
+ if options[:namespace]
+ File.join("lib", "generators", file_name)
+ else
+ File.join("lib", "generators")
+ end
+ end
+
+ end
+ end
+end
diff --git a/railties/lib/rails/generators/rails/generator/templates/%file_name%_generator.rb.tt b/railties/lib/rails/generators/rails/generator/templates/%file_name%_generator.rb.tt
new file mode 100644
index 0000000000..d8757460e4
--- /dev/null
+++ b/railties/lib/rails/generators/rails/generator/templates/%file_name%_generator.rb.tt
@@ -0,0 +1,5 @@
+class <%= class_name %>Generator < Rails::Generators::NamedBase
+ def self.source_root
+ @source_root ||= File.expand_path('../templates', __FILE__)
+ end
+end
diff --git a/railties/lib/rails/generators/rails/generator/templates/USAGE.tt b/railties/lib/rails/generators/rails/generator/templates/USAGE.tt
new file mode 100644
index 0000000000..1bb8df840d
--- /dev/null
+++ b/railties/lib/rails/generators/rails/generator/templates/USAGE.tt
@@ -0,0 +1,8 @@
+Description:
+ Explain the generator
+
+Example:
+ rails generate <%= file_name %> Thing
+
+ This will create:
+ what/will/it/create
diff --git a/railties/lib/rails/generators/rails/generator/templates/templates/.empty_directory b/railties/lib/rails/generators/rails/generator/templates/templates/.empty_directory
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/railties/lib/rails/generators/rails/generator/templates/templates/.empty_directory