Class: Decidim::Generators::AppGenerator
- Inherits:
-
Rails::Generators::AppGenerator
- Object
- Rails::Generators::AppGenerator
- Decidim::Generators::AppGenerator
- Defined in:
- lib/generators/decidim/app_generator.rb
Overview
Generates a Rails app and installs decidim to it. Uses the default Rails generator for most of the work.
Remember that, for how generators work, actions are executed based on the definition order of the public methods.
Instance Method Summary collapse
- #add_ignore_uploads ⇒ Object
- #app_const_base ⇒ Object
- #authorization_handler ⇒ Object
- #cable_yml ⇒ Object
- #database_yml ⇒ Object
- #decidim_controller ⇒ Object
- #docker ⇒ Object
- #install ⇒ Object
- #readme ⇒ Object
- #remove_default_error_pages ⇒ Object
- #secret_token ⇒ Object
- #set_locales ⇒ Object
- #source_paths ⇒ Object
Instance Method Details
#add_ignore_uploads ⇒ Object
91 92 93 94 95 |
# File 'lib/generators/decidim/app_generator.rb', line 91 def add_ignore_uploads unless ["skip_git"] append_file ".gitignore", "\n# Ignore public uploads\npublic/uploads" end end |
#app_const_base ⇒ Object
87 88 89 |
# File 'lib/generators/decidim/app_generator.rb', line 87 def app_const_base ["app_const_base"] || super end |
#authorization_handler ⇒ Object
108 109 110 |
# File 'lib/generators/decidim/app_generator.rb', line 108 def template "authorization_handler.rb", "app/services/example_authorization_handler.rb", force: true end |
#cable_yml ⇒ Object
66 67 68 |
# File 'lib/generators/decidim/app_generator.rb', line 66 def cable_yml template "cable.yml.erb", "config/cable.yml", force: true end |
#database_yml ⇒ Object
53 54 55 |
# File 'lib/generators/decidim/app_generator.rb', line 53 def database_yml template "database.yml.erb", "config/database.yml", force: true end |
#decidim_controller ⇒ Object
57 58 59 |
# File 'lib/generators/decidim/app_generator.rb', line 57 def decidim_controller template "decidim_controller.rb.erb", "app/controllers/decidim_controller.rb", force: true end |
#docker ⇒ Object
61 62 63 64 |
# File 'lib/generators/decidim/app_generator.rb', line 61 def docker template "Dockerfile.erb", "Dockerfile" template "docker-compose.yml.erb", "docker-compose.yml" end |
#install ⇒ Object
79 80 81 82 83 84 85 |
# File 'lib/generators/decidim/app_generator.rb', line 79 def install Decidim::Generators::InstallGenerator.start [ "--recreate_db=#{options[:recreate_db]}", "--migrate=#{options[:migrate]}", "--app_name=#{app_name}" ] end |
#readme ⇒ Object
70 71 72 |
# File 'lib/generators/decidim/app_generator.rb', line 70 def readme template "README.md.erb", "README.md", force: true end |
#remove_default_error_pages ⇒ Object
103 104 105 106 |
# File 'lib/generators/decidim/app_generator.rb', line 103 def remove_default_error_pages remove_file "public/404.html" remove_file "public/500.html" end |
#secret_token ⇒ Object
74 75 76 77 |
# File 'lib/generators/decidim/app_generator.rb', line 74 def secret_token require "securerandom" SecureRandom.hex(64) end |
#set_locales ⇒ Object
97 98 99 100 101 |
# File 'lib/generators/decidim/app_generator.rb', line 97 def set_locales inject_into_file "config/application.rb", after: "class Application < Rails::Application" do "\n config.i18n.available_locales = %w(en ca es)\n config.i18n.default_locale = :en" end end |
#source_paths ⇒ Object
21 22 23 24 25 26 27 28 29 30 |
# File 'lib/generators/decidim/app_generator.rb', line 21 def source_paths [ File.("templates", __dir__), File.(File.join(Gem::Specification .find_by_name("railties").gem_dir, "lib", "rails", "generators", "rails", "app", "templates")) ] end |