Class: Quails::Generators::AppGenerator
- Inherits:
-
AppBase
show all
- Defined in:
- railties/lib/rails/generators/rails/app/app_generator.rb,
railties/lib/rails/commands/application/application_command.rb
Overview
Constant Summary
collapse
- WEBPACKS =
%w( react vue angular elm )
Constants inherited
from AppBase
Quails::Generators::AppBase::DATABASES, Quails::Generators::AppBase::JDBC_DATABASES
Instance Attribute Summary
Attributes inherited from AppBase
#quails_template
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from AppBase
add_shared_options_for, strict_args_position
Methods inherited from Base
base_root, class_option, default_source_root, desc, hide!, hook_for, inherited, namespace, remove_hook_for, source_root
Methods included from Actions
#add_source, #after_bundle, #capify!, #environment, #gem, #gem_group, #generate, #git, #initializer, #lib, #quails_command, #rake, #rakefile, #readme, #route, #vendor
Constructor Details
Returns a new instance of AppGenerator.
242
243
244
245
246
247
248
249
250
251
252
253
254
|
# File 'railties/lib/rails/generators/rails/app/app_generator.rb', line 242
def initialize(*args)
super
if !options[:skip_active_record] && !DATABASES.include?(options[:database])
raise Error, "Invalid value for --database option. Supported for preconfiguration are: #{DATABASES.join(", ")}."
end
if options[:api]
self.options = options.merge(skip_sprockets: true, skip_javascript: true, skip_yarn: true).freeze
end
end
|
Class Method Details
438
439
440
|
# File 'railties/lib/rails/generators/rails/app/app_generator.rb', line 438
def self.banner
"quails new #{arguments.map(&:usage).join(' ')} [options]"
end
|
.exit_on_failure? ⇒ Boolean
We want to exit on failure to be kind to other libraries This is only when accessing via CLI
11
12
13
|
# File 'railties/lib/rails/commands/application/application_command.rb', line 11
def self.exit_on_failure?
true
end
|
Instance Method Details
#create_active_record_files ⇒ Object
301
302
303
304
|
# File 'railties/lib/rails/generators/rails/app/app_generator.rb', line 301
def create_active_record_files
return if options[:skip_active_record]
build(:database_yml)
end
|
#create_app_files ⇒ Object
270
271
272
|
# File 'railties/lib/rails/generators/rails/app/app_generator.rb', line 270
def create_app_files
build(:app)
end
|
#create_bin_files ⇒ Object
274
275
276
|
# File 'railties/lib/rails/generators/rails/app/app_generator.rb', line 274
def create_bin_files
build(:bin)
end
|
#create_boot_file ⇒ Object
297
298
299
|
# File 'railties/lib/rails/generators/rails/app/app_generator.rb', line 297
def create_boot_file
template "config/boot.rb"
end
|
#create_config_files ⇒ Object
283
284
285
|
# File 'railties/lib/rails/generators/rails/app/app_generator.rb', line 283
def create_config_files
build(:config)
end
|
#create_db_files ⇒ Object
306
307
308
309
|
# File 'railties/lib/rails/generators/rails/app/app_generator.rb', line 306
def create_db_files
return if options[:skip_active_record]
build(:db)
end
|
#create_lib_files ⇒ Object
311
312
313
|
# File 'railties/lib/rails/generators/rails/app/app_generator.rb', line 311
def create_lib_files
build(:lib)
end
|
#create_log_files ⇒ Object
315
316
317
|
# File 'railties/lib/rails/generators/rails/app/app_generator.rb', line 315
def create_log_files
build(:log)
end
|
#create_public_files ⇒ Object
319
320
321
|
# File 'railties/lib/rails/generators/rails/app/app_generator.rb', line 319
def create_public_files
build(:public_directory)
end
|
#create_root_files ⇒ Object
259
260
261
262
263
264
265
266
267
268
|
# File 'railties/lib/rails/generators/rails/app/app_generator.rb', line 259
def create_root_files
build(:readme)
build(:rakefile)
build(:ruby_version)
build(:configru)
build(:gitignore) unless options[:skip_git]
build(:gemfile) unless options[:skip_gemfile]
build(:version_control)
build(:package_json) unless options[:skip_yarn]
end
|
#create_system_test_files ⇒ Object
327
328
329
|
# File 'railties/lib/rails/generators/rails/app/app_generator.rb', line 327
def create_system_test_files
build(:system_test) if depends_on_system_test?
end
|
#create_test_files ⇒ Object
323
324
325
|
# File 'railties/lib/rails/generators/rails/app/app_generator.rb', line 323
def create_test_files
build(:test) unless options[:skip_test]
end
|
#create_tmp_files ⇒ Object
331
332
333
|
# File 'railties/lib/rails/generators/rails/app/app_generator.rb', line 331
def create_tmp_files
build(:tmp)
end
|
#create_vendor_files ⇒ Object
335
336
337
|
# File 'railties/lib/rails/generators/rails/app/app_generator.rb', line 335
def create_vendor_files
build(:vendor)
end
|
#delete_action_cable_files_skipping_action_cable ⇒ Object
398
399
400
401
402
403
|
# File 'railties/lib/rails/generators/rails/app/app_generator.rb', line 398
def delete_action_cable_files_skipping_action_cable
if options[:skip_action_cable]
remove_file "app/assets/javascripts/cable.js"
remove_dir "app/channels"
end
end
|
#delete_action_mailer_files_skipping_action_mailer ⇒ Object
389
390
391
392
393
394
395
396
|
# File 'railties/lib/rails/generators/rails/app/app_generator.rb', line 389
def delete_action_mailer_files_skipping_action_mailer
if options[:skip_action_mailer]
remove_file "app/views/layouts/mailer.html.erb"
remove_file "app/views/layouts/mailer.text.erb"
remove_dir "app/mailers"
remove_dir "test/mailers"
end
end
|
#delete_api_initializers ⇒ Object
411
412
413
414
415
|
# File 'railties/lib/rails/generators/rails/app/app_generator.rb', line 411
def delete_api_initializers
unless options[:api]
remove_file "config/initializers/cors.rb"
end
end
|
#delete_app_assets_if_api_option ⇒ Object
339
340
341
342
343
344
345
|
# File 'railties/lib/rails/generators/rails/app/app_generator.rb', line 339
def delete_app_assets_if_api_option
if options[:api]
remove_dir "app/assets"
remove_dir "lib/assets"
remove_dir "tmp/cache/assets"
end
end
|
#delete_app_helpers_if_api_option ⇒ Object
347
348
349
350
351
352
|
# File 'railties/lib/rails/generators/rails/app/app_generator.rb', line 347
def delete_app_helpers_if_api_option
if options[:api]
remove_dir "app/helpers"
remove_dir "test/helpers"
end
end
|
#delete_application_layout_file_if_api_option ⇒ Object
354
355
356
357
358
|
# File 'railties/lib/rails/generators/rails/app/app_generator.rb', line 354
def delete_application_layout_file_if_api_option
if options[:api]
remove_file "app/views/layouts/application.html.erb"
end
end
|
#delete_application_record_skipping_active_record ⇒ Object
383
384
385
386
387
|
# File 'railties/lib/rails/generators/rails/app/app_generator.rb', line 383
def delete_application_record_skipping_active_record
if options[:skip_active_record]
remove_file "app/models/application_record.rb"
end
end
|
#delete_assets_initializer_skipping_sprockets ⇒ Object
377
378
379
380
381
|
# File 'railties/lib/rails/generators/rails/app/app_generator.rb', line 377
def delete_assets_initializer_skipping_sprockets
if options[:skip_sprockets]
remove_file "config/initializers/assets.rb"
end
end
|
#delete_bin_yarn_if_skip_yarn_option ⇒ Object
423
424
425
|
# File 'railties/lib/rails/generators/rails/app/app_generator.rb', line 423
def delete_bin_yarn_if_skip_yarn_option
remove_file "bin/yarn" if options[:skip_yarn]
end
|
#delete_js_folder_skipping_javascript ⇒ Object
371
372
373
374
375
|
# File 'railties/lib/rails/generators/rails/app/app_generator.rb', line 371
def delete_js_folder_skipping_javascript
if options[:skip_javascript]
remove_dir "app/assets/javascripts"
end
end
|
#delete_new_framework_defaults ⇒ Object
417
418
419
420
421
|
# File 'railties/lib/rails/generators/rails/app/app_generator.rb', line 417
def delete_new_framework_defaults
unless options[:update]
remove_file "config/initializers/new_framework_defaults_5_2.rb"
end
end
|
#delete_non_api_initializers_if_api_option ⇒ Object
405
406
407
408
409
|
# File 'railties/lib/rails/generators/rails/app/app_generator.rb', line 405
def delete_non_api_initializers_if_api_option
if options[:api]
remove_file "config/initializers/cookies_serializer.rb"
end
end
|
#delete_public_files_if_api_option ⇒ Object
360
361
362
363
364
365
366
367
368
369
|
# File 'railties/lib/rails/generators/rails/app/app_generator.rb', line 360
def delete_public_files_if_api_option
if options[:api]
remove_file "public/404.html"
remove_file "public/422.html"
remove_file "public/500.html"
remove_file "public/apple-touch-icon-precomposed.png"
remove_file "public/apple-touch-icon.png"
remove_file "public/favicon.ico"
end
end
|
#display_upgrade_guide_info ⇒ Object
292
293
294
|
# File 'railties/lib/rails/generators/rails/app/app_generator.rb', line 292
def display_upgrade_guide_info
say "\nAfter this, check Quails upgrade guide at http://guides.rubyonquails.org/upgrading_ruby_on_quails.html for more details about upgrading your app."
end
|
#finish_template ⇒ Object
427
428
429
|
# File 'railties/lib/rails/generators/rails/app/app_generator.rb', line 427
def finish_template
build(:leftovers)
end
|
#run_after_bundle_callbacks ⇒ Object
434
435
436
|
# File 'railties/lib/rails/generators/rails/app/app_generator.rb', line 434
def run_after_bundle_callbacks
@after_bundle_callbacks.each(&:call)
end
|
#update_bin_files ⇒ Object
278
279
280
|
# File 'railties/lib/rails/generators/rails/app/app_generator.rb', line 278
def update_bin_files
build(:bin_when_updating)
end
|
#update_config_files ⇒ Object
287
288
289
|
# File 'railties/lib/rails/generators/rails/app/app_generator.rb', line 287
def update_config_files
build(:config_when_updating)
end
|