diff options
author | José Valim <jose.valim@gmail.com> | 2009-07-13 23:01:12 +0200 |
---|---|---|
committer | José Valim <jose.valim@gmail.com> | 2009-07-13 23:01:12 +0200 |
commit | 52673cd2eee2bdd65f4ae636f4fdc209186ab868 (patch) | |
tree | edd312bdbc2d24dafa51b6a1ad76410eecbf9700 /railties/lib/generators/rails/generator | |
parent | a5ab030ae4ca7496fc9167c9ffa4717be130b235 (diff) | |
download | rails-52673cd2eee2bdd65f4ae636f4fdc209186ab868.tar.gz rails-52673cd2eee2bdd65f4ae636f4fdc209186ab868.tar.bz2 rails-52673cd2eee2bdd65f4ae636f4fdc209186ab868.zip |
Added a generator generator.
Diffstat (limited to 'railties/lib/generators/rails/generator')
4 files changed, 50 insertions, 0 deletions
diff --git a/railties/lib/generators/rails/generator/USAGE b/railties/lib/generators/rails/generator/USAGE new file mode 100644 index 0000000000..ca7d3f62d0 --- /dev/null +++ b/railties/lib/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: + `./script/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/generators/rails/generator/generator_generator.rb b/railties/lib/generators/rails/generator/generator_generator.rb new file mode 100644 index 0000000000..8a4e949b3d --- /dev/null +++ b/railties/lib/generators/rails/generator/generator_generator.rb @@ -0,0 +1,26 @@ +module Rails + module Generators + class GeneratorGenerator < NamedBase + check_class_collision :suffix => "Generator" + + def copy_generator_file + template "generator.rb", generator_dir("#{file_name}_generator.rb") + end + + def copy_usage_file + template "USAGE", generator_dir("USAGE") + end + + def create_templates_dir + empty_directory generator_dir("templates") + end + + protected + + def generator_dir(join) + File.join("lib", "generators", file_name, join) + end + + end + end +end diff --git a/railties/lib/generators/rails/generator/templates/USAGE b/railties/lib/generators/rails/generator/templates/USAGE new file mode 100644 index 0000000000..ea9f4f12cc --- /dev/null +++ b/railties/lib/generators/rails/generator/templates/USAGE @@ -0,0 +1,8 @@ +Description: + Explain the generator + +Example: + ./script/generate <%= file_name %> Thing + + This will create: + what/will/it/create diff --git a/railties/lib/generators/rails/generator/templates/generator.rb b/railties/lib/generators/rails/generator/templates/generator.rb new file mode 100644 index 0000000000..675f00043f --- /dev/null +++ b/railties/lib/generators/rails/generator/templates/generator.rb @@ -0,0 +1,5 @@ +class <%= class_name %>Generator < Rails::Generators::NamedBase + def self.source_root + @source_root ||= File.expand_path(File.join(File.dirname(__FILE__), 'templates')) + end +end |