Method: Rails::PluginBuilder#app

Defined in:
railties/lib/rails/generators/rails/plugin/plugin_generator.rb

#appObject



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'railties/lib/rails/generators/rails/plugin/plugin_generator.rb', line 20

def app
  if mountable?
    if api?
      directory "app", exclude_pattern: %r{app/(views|helpers)}
    else
      directory "app"
      empty_directory_with_keep_file "app/assets/images/#{namespaced_name}"
    end

    empty_directory_with_keep_file "app/models/concerns"
    empty_directory_with_keep_file "app/controllers/concerns"
    remove_dir "app/mailers" if options[:skip_action_mailer]
    remove_dir "app/jobs" if options[:skip_active_job]
  elsif full?
    empty_directory_with_keep_file "app/models"
    empty_directory_with_keep_file "app/controllers"
    empty_directory_with_keep_file "app/models/concerns"
    empty_directory_with_keep_file "app/controllers/concerns"
    empty_directory_with_keep_file "app/mailers" unless options[:skip_action_mailer]
    empty_directory_with_keep_file "app/jobs" unless options[:skip_active_job]

    unless api?
      empty_directory_with_keep_file "app/assets/images/#{namespaced_name}"
      empty_directory_with_keep_file "app/helpers"
      empty_directory_with_keep_file "app/views"
    end
  end
end