From 927b847239ede8cb455366b95e640a25d92a2b8e Mon Sep 17 00:00:00 2001 From: Jeremy Kemper Date: Fri, 28 Oct 2005 20:28:09 +0000 Subject: Add Rakefile to plugin generator. Let test_plugins rake task look deeper into plugins' test dirs. Make plugin test cases flunk by default. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2790 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- .../components/plugin/plugin_generator.rb | 26 +++++++++++++--------- .../components/plugin/templates/Rakefile | 22 ++++++++++++++++++ .../components/plugin/templates/unit_test.rb | 4 ++-- 3 files changed, 40 insertions(+), 12 deletions(-) create mode 100755 railties/lib/rails_generator/generators/components/plugin/templates/Rakefile (limited to 'railties/lib/rails_generator/generators') diff --git a/railties/lib/rails_generator/generators/components/plugin/plugin_generator.rb b/railties/lib/rails_generator/generators/components/plugin/plugin_generator.rb index 2db7f98f8d..d43a8df03f 100644 --- a/railties/lib/rails_generator/generators/components/plugin/plugin_generator.rb +++ b/railties/lib/rails_generator/generators/components/plugin/plugin_generator.rb @@ -1,17 +1,23 @@ class PluginGenerator < Rails::Generator::NamedBase + attr_reader :plugin_path + + def initialize(*args) + super + @plugin_path = "vendor/plugins/#{file_name}" + end + def manifest record do |m| - m.directory File.join('vendor', 'plugins', file_name) - m.directory File.join('vendor', 'plugins', file_name, 'lib') - m.directory File.join('vendor', 'plugins', file_name, 'test') - m.directory File.join('vendor', 'plugins', file_name, 'tasks') - - m.template 'plugin.rb', File.join('vendor', 'plugins', file_name, 'lib', "#{file_name}.rb") - m.template 'unit_test.rb', File.join('vendor', 'plugins', file_name, 'test', "#{file_name}_test.rb") + m.directory "#{plugin_path}/lib" + m.directory "#{plugin_path}/tasks" + m.directory "#{plugin_path}/test" - m.template 'init.rb', File.join('vendor', 'plugins', file_name, 'init.rb') - m.template 'tasks.rake', File.join('vendor', 'plugins', file_name, 'tasks', "#{file_name}_tasks.rake") - m.template 'README', File.join('vendor', 'plugins', file_name, 'README') + m.template 'README', "#{plugin_path}/README" + m.template 'Rakefile', "#{plugin_path}/Rakefile" + m.template 'init.rb', "#{plugin_path}/init.rb" + m.template 'plugin.rb', "#{plugin_path}/lib/#{file_name}.rb" + m.template 'tasks.rake', "#{plugin_path}/tasks/#{file_name}_tasks.rake" + m.template 'unit_test.rb', "#{plugin_path}/test/#{file_name}_test.rb" end end end diff --git a/railties/lib/rails_generator/generators/components/plugin/templates/Rakefile b/railties/lib/rails_generator/generators/components/plugin/templates/Rakefile new file mode 100755 index 0000000000..069105081a --- /dev/null +++ b/railties/lib/rails_generator/generators/components/plugin/templates/Rakefile @@ -0,0 +1,22 @@ +require 'rake' +require 'rake/testtask' +require 'rake/rdoctask' + +desc 'Default: run unit tests.' +task :default => :test + +desc 'Test the <%= file_name %> plugin.' +Rake::TestTask.new(:test) do |t| + t.libs << 'lib' + t.pattern = 'test/**/*_test.rb' + t.verbose = true +end + +desc 'Generate documentation for the <%= file_name %> plugin.' +Rake::RDocTask.new(:rdoc) do |rdoc| + rdoc.rdoc_dir = 'rdoc' + rdoc.title = '<%= class_name %>' + rdoc.options << '--line-numbers --inline-source' + rdoc.rdoc_files.include('README') + rdoc.rdoc_files.include('lib/**/*.rb') +end diff --git a/railties/lib/rails_generator/generators/components/plugin/templates/unit_test.rb b/railties/lib/rails_generator/generators/components/plugin/templates/unit_test.rb index 8491d2e3ae..9028b84b7d 100644 --- a/railties/lib/rails_generator/generators/components/plugin/templates/unit_test.rb +++ b/railties/lib/rails_generator/generators/components/plugin/templates/unit_test.rb @@ -2,7 +2,7 @@ require 'test/unit' class <%= class_name %>Test < Test::Unit::TestCase # Replace this with your real tests. - def test_truth - assert true + def test_this_plugin + flunk end end -- cgit v1.2.3