From ea106cf051e4fafcaf775f75bc4af17e89197a28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Valim?= Date: Tue, 23 Jun 2009 20:42:29 +0200 Subject: Added plugin generators (and a couple of TODOs). --- .../generators/rails/plugin/plugin_generator.rb | 41 ++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 railties/lib/generators/rails/plugin/plugin_generator.rb (limited to 'railties/lib/generators/rails/plugin/plugin_generator.rb') 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 -- cgit v1.2.3