diff options
author | Pratik Naik <pratiknaik@gmail.com> | 2009-07-30 14:18:53 +0100 |
---|---|---|
committer | Pratik Naik <pratiknaik@gmail.com> | 2009-07-30 14:18:53 +0100 |
commit | 915cf5747a78f28f2b25c48574031db60c3a18ae (patch) | |
tree | 048746387ddaaed418670c86451856675b8d369f /railties/lib/generators/erb/scaffold/scaffold_generator.rb | |
parent | 23f5e7e966defaaa1511eca57bd8de47f95cb7d9 (diff) | |
parent | d83b1828577c268de56e1b3942e16002c9efdd57 (diff) | |
download | rails-915cf5747a78f28f2b25c48574031db60c3a18ae.tar.gz rails-915cf5747a78f28f2b25c48574031db60c3a18ae.tar.bz2 rails-915cf5747a78f28f2b25c48574031db60c3a18ae.zip |
Merge commit 'mainstream/master'
Conflicts:
railties/guides/source/active_support_overview.textile
Diffstat (limited to 'railties/lib/generators/erb/scaffold/scaffold_generator.rb')
-rw-r--r-- | railties/lib/generators/erb/scaffold/scaffold_generator.rb | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/railties/lib/generators/erb/scaffold/scaffold_generator.rb b/railties/lib/generators/erb/scaffold/scaffold_generator.rb new file mode 100644 index 0000000000..955f22192a --- /dev/null +++ b/railties/lib/generators/erb/scaffold/scaffold_generator.rb @@ -0,0 +1,54 @@ +require 'generators/erb' + +module Erb + module Generators + class ScaffoldGenerator < Base + include Rails::Generators::ScaffoldBase + + argument :attributes, :type => :array, :default => [], :banner => "field:type field:type" + + class_option :form, :type => :boolean + 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_index_file + return if options[:singleton] + copy_view :index + end + + def copy_edit_file + copy_view :edit + end + + def copy_show_file + copy_view :show + end + + def copy_new_file + copy_view :new + end + + def copy_form_file + return unless options[:form] + copy_view :_form + end + + def copy_layout_file + return unless options[:layout] + template "layout.html.erb", + File.join("app/views/layouts", controller_class_path, "#{controller_file_name}.html.erb") + end + + protected + + def copy_view(view) + template "#{view}.html.erb", File.join("app/views", controller_file_path, "#{view}.html.erb") + end + + end + end +end |