From b61f6f59805eec4f5bb873a85910c9fe00e839a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Valim?= Date: Tue, 23 Mar 2010 13:40:19 +0100 Subject: Load generators from both lib/rails/generators and lib/generators. Using the former since it's less obstrusive. --- .../generators/erb/scaffold/scaffold_generator.rb | 41 ++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 railties/lib/rails/generators/erb/scaffold/scaffold_generator.rb (limited to 'railties/lib/rails/generators/erb/scaffold/scaffold_generator.rb') diff --git a/railties/lib/rails/generators/erb/scaffold/scaffold_generator.rb b/railties/lib/rails/generators/erb/scaffold/scaffold_generator.rb new file mode 100644 index 0000000000..f607e580a5 --- /dev/null +++ b/railties/lib/rails/generators/erb/scaffold/scaffold_generator.rb @@ -0,0 +1,41 @@ +require 'rails/generators/erb' +require 'rails/generators/resource_helpers' + +module Erb + module Generators + class ScaffoldGenerator < Base + include Rails::Generators::ResourceHelpers + + argument :attributes, :type => :array, :default => [], :banner => "field:type field:type" + + class_option :layout, :type => :boolean + class_option :singleton, :type => :boolean, :desc => "Supply to skip index view" + + def create_root_folder + empty_directory File.join("app/views", controller_file_path) + end + + def copy_view_files + views = available_views + views.delete("index") if options[:singleton] + + views.each do |view| + filename = filename_with_extensions(view) + template filename, File.join("app/views", controller_file_path, filename) + end + end + + def copy_layout_file + return unless options[:layout] + template filename_with_extensions(:layout), + File.join("app/views/layouts", controller_class_path, filename_with_extensions(controller_file_name)) + end + + protected + + def available_views + %w(index edit show new _form) + end + end + end +end -- cgit v1.2.3