-
-
Save spastorino/7989a586151e8da13351 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/railties/lib/rails/generators/app_base.rb b/railties/lib/rails/generators/app_base.rb | |
index 713e677..b12ceba 100644 | |
--- a/railties/lib/rails/generators/app_base.rb | |
+++ b/railties/lib/rails/generators/app_base.rb | |
@@ -167,11 +167,16 @@ module Rails | |
end | |
def include_all_railties? | |
- options.values_at(:skip_active_record, :skip_action_mailer, :skip_test, :skip_sprockets).none? | |
+ options.values_at(:skip_active_record, :skip_action_mailer, :skip_test, :skip_sprockets, :api).none? | |
end | |
def comment_if(value) | |
- options[value] ? '# ' : '' | |
+ method = "#{value}?" | |
+ if respond_to?(method) && public_send(method) || options[value] | |
+ '# ' | |
+ else | |
+ '' | |
+ end | |
end | |
def sqlite3? | |
@@ -246,7 +251,7 @@ module Rails | |
end | |
def assets_gemfile_entry | |
- return [] if options[:skip_sprockets] | |
+ return [] if skip_sprockets? | |
gems = [] | |
gems << GemfileEntry.version('sass-rails', '~> 5.0', | |
@@ -276,7 +281,7 @@ module Rails | |
end | |
def javascript_gemfile_entry | |
- if options[:skip_javascript] | |
+ if skip_javascript? | |
[] | |
else | |
gems = [coffee_gemfile_entry, javascript_runtime_gemfile_entry] | |
diff --git a/railties/lib/rails/generators/rails/app/app_generator.rb b/railties/lib/rails/generators/rails/app/app_generator.rb | |
index 5414f34..eabc288 100644 | |
--- a/railties/lib/rails/generators/rails/app/app_generator.rb | |
+++ b/railties/lib/rails/generators/rails/app/app_generator.rb | |
@@ -187,10 +187,14 @@ module Rails | |
if !options[:skip_active_record] && !DATABASES.include?(options[:database]) | |
raise Error, "Invalid value for --database option. Supported for preconfiguration are: #{DATABASES.join(", ")}." | |
end | |
+ end | |
+ | |
+ def skip_sprockets? | |
+ options[:skip_sprockets] || options[:api] | |
+ end | |
- # Force sprockets to be skipped when generating http only app. | |
- # Can't modify options hash as it's frozen by default. | |
- self.options = options.merge(skip_sprockets: true, skip_javascript: true).freeze if options[:api] | |
+ def skip_javascript? | |
+ options[:skip_javascript] || options[:api] | |
end | |
public_task :set_default_accessors! | |
@@ -281,13 +285,13 @@ module Rails | |
end | |
def delete_js_folder_skipping_javascript | |
- if options[:skip_javascript] | |
+ if skip_javascript? | |
remove_dir 'app/assets/javascripts' | |
end | |
end | |
def delete_assets_initializer_skipping_sprockets | |
- if options[:skip_sprockets] | |
+ if skip_sprockets? | |
remove_file 'config/initializers/assets.rb' | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment