aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/rails
diff options
context:
space:
mode:
authoryuuji.yaginuma <yuuji.yaginuma@gmail.com>2017-03-24 08:31:30 +0900
committeryuuji.yaginuma <yuuji.yaginuma@gmail.com>2017-03-24 22:43:43 +0900
commite7c4fe581c6eab18df706875eb57df82e27a1e8f (patch)
tree29425e0a75458d0d95807358cfd1518cc40f8668 /railties/lib/rails
parentc111d1b36d5736e3e4afa111de3e3b3c09283486 (diff)
downloadrails-e7c4fe581c6eab18df706875eb57df82e27a1e8f.tar.gz
rails-e7c4fe581c6eab18df706875eb57df82e27a1e8f.tar.bz2
rails-e7c4fe581c6eab18df706875eb57df82e27a1e8f.zip
Remove unnecessary files to API-only Applications when `app:task` task executed
Diffstat (limited to 'railties/lib/rails')
-rw-r--r--railties/lib/rails/generators/rails/app/app_generator.rb33
-rw-r--r--railties/lib/rails/tasks/framework.rake2
2 files changed, 34 insertions, 1 deletions
diff --git a/railties/lib/rails/generators/rails/app/app_generator.rb b/railties/lib/rails/generators/rails/app/app_generator.rb
index b32878cf0b..2c935dd998 100644
--- a/railties/lib/rails/generators/rails/app/app_generator.rb
+++ b/railties/lib/rails/generators/rails/app/app_generator.rb
@@ -84,6 +84,16 @@ module Rails
chmod "bin", 0755 & ~File.umask, verbose: false
end
+ def bin_when_updating
+ bin_yarn_exist = File.exist?("bin/yarn")
+
+ bin
+
+ if options[:api] && !bin_yarn_exist
+ remove_file "bin/yarn"
+ end
+ end
+
def config
empty_directory "config"
@@ -106,6 +116,8 @@ module Rails
cookie_serializer_config_exist = File.exist?("config/initializers/cookies_serializer.rb")
action_cable_config_exist = File.exist?("config/cable.yml")
rack_cors_config_exist = File.exist?("config/initializers/cors.rb")
+ assets_config_exist = File.exist?("config/initializers/assets.rb")
+ new_framework_defaults_5_1_exist = File.exist?("config/initializers/new_framework_defaults_5_1.rb")
config
@@ -120,6 +132,22 @@ module Rails
unless rack_cors_config_exist
remove_file "config/initializers/cors.rb"
end
+
+ if options[:api]
+ unless cookie_serializer_config_exist
+ remove_file "config/initializers/cookies_serializer.rb"
+ end
+
+ unless assets_config_exist
+ remove_file "config/initializers/assets.rb"
+ end
+
+ # Sprockets owns the only new default for 5.1:
+ # In API-only Applications, we don't want the file.
+ unless new_framework_defaults_5_1_exist
+ remove_file "config/initializers/new_framework_defaults_5_1.rb"
+ end
+ end
end
def database_yml
@@ -230,6 +258,11 @@ module Rails
build(:bin)
end
+ def update_bin_files
+ build(:bin_when_updating)
+ end
+ remove_task :update_bin_files
+
def create_config_files
build(:config)
end
diff --git a/railties/lib/rails/tasks/framework.rake b/railties/lib/rails/tasks/framework.rake
index f5586b53f0..32a6b109bc 100644
--- a/railties/lib/rails/tasks/framework.rake
+++ b/railties/lib/rails/tasks/framework.rake
@@ -63,7 +63,7 @@ namespace :app do
# desc "Adds new executables to the application bin/ directory"
task :bin do
- RailsUpdate.invoke_from_app_generator :create_bin_files
+ RailsUpdate.invoke_from_app_generator :update_bin_files
end
task :upgrade_guide_info do