diff options
author | José Valim <jose.valim@gmail.com> | 2009-06-23 20:42:29 +0200 |
---|---|---|
committer | José Valim <jose.valim@gmail.com> | 2009-06-23 20:42:29 +0200 |
commit | ea106cf051e4fafcaf775f75bc4af17e89197a28 (patch) | |
tree | b83f5e46884b25a5ad88471f43427cbb275487ca /railties/lib/generators/rails/plugin/plugin_generator.rb | |
parent | d7bab3a43a72b94775c857865817004408549e70 (diff) | |
download | rails-ea106cf051e4fafcaf775f75bc4af17e89197a28.tar.gz rails-ea106cf051e4fafcaf775f75bc4af17e89197a28.tar.bz2 rails-ea106cf051e4fafcaf775f75bc4af17e89197a28.zip |
Added plugin generators (and a couple of TODOs).
Diffstat (limited to 'railties/lib/generators/rails/plugin/plugin_generator.rb')
-rw-r--r-- | railties/lib/generators/rails/plugin/plugin_generator.rb | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/railties/lib/generators/rails/plugin/plugin_generator.rb b/railties/lib/generators/rails/plugin/plugin_generator.rb new file mode 100644 index 0000000000..38afb3984e --- /dev/null +++ b/railties/lib/generators/rails/plugin/plugin_generator.rb @@ -0,0 +1,41 @@ +module Rails + module Generators + class PluginGenerator < NamedBase + def create_root + self.root = File.expand_path("vendor/plugins/#{file_name}", root) + empty_directory '.' + FileUtils.cd(root) + end + + # TODO Check class collision + + def create_root_files + %w(README MIT-LICENSE Rakefile init.rb install.rb uninstall.rb).each do |file| + template file + end + end + + def create_lib_files + directory 'lib' + end + + add_test_framework_option! + + class_option :with_tasks, :type => :boolean, :aliases => "-r", :default => false, + :desc => "When supplied creates tasks base files." + + class_option :with_generator, :type => :boolean, :aliases => "-g", :default => false, + :desc => "When supplied creates generator base files." + + def create_tasks_files + return unless options[:with_tasks] + directory 'tasks' + end + + def create_generator_files + return unless options[:with_generator] + directory 'generators' + end + end + end +end |