Permalink
Browse files

Added a generator option to remove the public/index.html file when ge…

…nerating a new Rails application

The option is:
-i, [--skip-index-html]        # Skip public/index.html file
  • Loading branch information...
1 parent b49a7dd commit 5c1109a68e098188803a6232be55dfff1e5e12eb @ivanvanderbyl ivanvanderbyl committed with malclocke Aug 23, 2011
@@ -49,6 +49,9 @@ def self.add_shared_options_for(name)
class_option :skip_javascript, :type => :boolean, :aliases => "-J", :default => false,
:desc => "Skip JavaScript files"
+ class_option :skip_index_html, :type => :boolean, :aliases => "-I", :default => false,
+ :desc => "Skip public/index.html and app/assets/images/rails.png files"
+
class_option :dev, :type => :boolean, :default => false,
:desc => "Setup the #{name} with Gemfile pointing to your Rails checkout"
@@ -97,6 +97,11 @@ def log
def public_directory
directory "public", "public", :recursive => false
+ if options[:skip_index_html]
+ remove_file "public/index.html"
+ remove_file 'app/assets/images/rails.png'
+ git_keep 'app/assets/images'
+ end
end
def script
@@ -240,6 +240,13 @@ def test_inclusion_of_javascript_runtime
end
end
+ def test_generator_if_skip_index_html_is_given
+ run_generator [destination_root, "--skip-index-html"]
+ assert_no_file "public/index.html"
+ assert_no_file "app/assets/images/rails.png"
+ assert_file "app/assets/images/.gitkeep"
+ end
+
def test_creation_of_a_test_directory
run_generator
assert_file 'test'

15 comments on commit 5c1109a

Owner

spastorino replied May 8, 2012

I've just seen this and I want to suggest something different.
What about reverting this commit, removing index.html and defining a rails engine inside railties that you can mount in '/' if the routes.rb file has still no routes defined ?.

Owner

jeremy replied May 8, 2012

Contributor

josevalim replied May 8, 2012

It does not need to be an engine, it can be a simple rack app. And it sounds like a good idea. :)

Checking if a route exists can be cumbersome... so we could simply append the route (at the bottom), then as soon as someone defines a new "/", it won't be matched anymore.

Member

steveklabnik replied May 8, 2012

👍 @josevalim

Owner

spastorino replied May 8, 2012

@josevalim true :) and agreed. Not sure about always adding "/" though, because if the user doesn't add a root route it will end having that index view in production.
Anyway we can just generate the "index" route inside config/route.rb itself suggesting the user to just change that.

Owner

guilleiguaran replied May 8, 2012

@spastorino add it only for development environment like /rails/info/properties

Owner

spastorino replied May 8, 2012

Sounds good bros

Contributor

josevalim replied May 8, 2012

Contributor

josevalim replied May 8, 2012

👍 to the 👍s

Also 👍 to the feature.

Please sign in to comment.