Froze rails gems
[depot.git] / vendor / rails / railties / lib / rails_generator / generators / components / plugin / plugin_generator.rb
1 class PluginGenerator < Rails::Generator::NamedBase
2 attr_reader :plugin_path
3
4 def initialize(runtime_args, runtime_options = {})
5 @with_generator = runtime_args.delete("--with-generator")
6 super
7 @plugin_path = "vendor/plugins/#{file_name}"
8 end
9
10 def manifest
11 record do |m|
12 # Check for class naming collisions.
13 m.class_collisions class_name
14
15 m.directory "#{plugin_path}/lib"
16 m.directory "#{plugin_path}/tasks"
17 m.directory "#{plugin_path}/test"
18
19 m.template 'README', "#{plugin_path}/README"
20 m.template 'MIT-LICENSE', "#{plugin_path}/MIT-LICENSE"
21 m.template 'Rakefile', "#{plugin_path}/Rakefile"
22 m.template 'init.rb', "#{plugin_path}/init.rb"
23 m.template 'install.rb', "#{plugin_path}/install.rb"
24 m.template 'uninstall.rb', "#{plugin_path}/uninstall.rb"
25 m.template 'plugin.rb', "#{plugin_path}/lib/#{file_name}.rb"
26 m.template 'tasks.rake', "#{plugin_path}/tasks/#{file_name}_tasks.rake"
27 m.template 'unit_test.rb', "#{plugin_path}/test/#{file_name}_test.rb"
28 m.template 'test_helper.rb', "#{plugin_path}/test/test_helper.rb"
29 if @with_generator
30 m.directory "#{plugin_path}/generators"
31 m.directory "#{plugin_path}/generators/#{file_name}"
32 m.directory "#{plugin_path}/generators/#{file_name}/templates"
33
34 m.template 'generator.rb', "#{plugin_path}/generators/#{file_name}/#{file_name}_generator.rb"
35 m.template 'USAGE', "#{plugin_path}/generators/#{file_name}/USAGE"
36 end
37 end
38 end
39 end