diff options
author | Santiago Pastorino <santiago@wyeworks.com> | 2015-04-16 18:28:40 -0300 |
---|---|---|
committer | Santiago Pastorino <santiago@wyeworks.com> | 2015-06-11 16:54:10 -0300 |
commit | 2a9cf48a615d39b932f0323d158e935a0300f7c4 (patch) | |
tree | bf67f1efd5241a762ec24c4d36419ff56756cc57 /railties/lib/rails/generators | |
parent | 3adb5eac3b6d81a0943bebd8dffa25a3b63681eb (diff) | |
download | rails-2a9cf48a615d39b932f0323d158e935a0300f7c4.tar.gz rails-2a9cf48a615d39b932f0323d158e935a0300f7c4.tar.bz2 rails-2a9cf48a615d39b932f0323d158e935a0300f7c4.zip |
rails new --api generates an api app skeleton
Diffstat (limited to 'railties/lib/rails/generators')
3 files changed, 10 insertions, 5 deletions
diff --git a/railties/lib/rails/generators/app_base.rb b/railties/lib/rails/generators/app_base.rb index c02b39d203..b85bf874a6 100644 --- a/railties/lib/rails/generators/app_base.rb +++ b/railties/lib/rails/generators/app_base.rb @@ -252,7 +252,7 @@ module Rails end def assets_gemfile_entry - return [] if options[:skip_sprockets] + return [] if options[:skip_sprockets] || options[:api] gems = [] gems << GemfileEntry.version('sass-rails', '~> 5.0', @@ -280,7 +280,7 @@ module Rails end def javascript_gemfile_entry - if options[:skip_javascript] + if options[:skip_javascript] || options[:api] [] 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 152c26860e..6197b85bb6 100644 --- a/railties/lib/rails/generators/rails/app/app_generator.rb +++ b/railties/lib/rails/generators/rails/app/app_generator.rb @@ -175,6 +175,9 @@ module Rails class_option :version, type: :boolean, aliases: "-v", group: :rails, desc: "Show Rails version number and quit" + class_option :api, type: :boolean, + desc: "Preconfigure smaller stack for API only apps" + def initialize(*args) super @@ -245,11 +248,11 @@ module Rails end def create_tmp_files - build(:tmp) + build(:tmp) unless options[:api] end def create_vendor_files - build(:vendor) + build(:vendor) unless options[:api] end def delete_js_folder_skipping_javascript diff --git a/railties/lib/rails/generators/rails/app/templates/app/controllers/application_controller.rb.tt b/railties/lib/rails/generators/rails/app/templates/app/controllers/application_controller.rb.tt index d83690e1b9..f726fd6305 100644 --- a/railties/lib/rails/generators/rails/app/templates/app/controllers/application_controller.rb.tt +++ b/railties/lib/rails/generators/rails/app/templates/app/controllers/application_controller.rb.tt @@ -1,5 +1,7 @@ -class ApplicationController < ActionController::Base +class ApplicationController < ActionController::<%= options[:api] ? "API" : "Base" %> +<%- unless options[:api] -%> # Prevent CSRF attacks by raising an exception. # For APIs, you may want to use :null_session instead. protect_from_forgery with: :exception +<%- end -%> end |