Class: Alchemy::Generators::InstallGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- Alchemy::Generators::InstallGenerator
- Defined in:
- lib/generators/alchemy/install/install_generator.rb
Instance Method Summary collapse
- #copy_config ⇒ Object
- #copy_demo_views ⇒ Object
- #copy_dragonfly_config ⇒ Object
- #copy_yml_files ⇒ Object
- #finalize ⇒ Object
- #install_assets ⇒ Object
- #install_gutentag_migrations ⇒ Object
- #mount ⇒ Object
- #set_primary_language ⇒ Object
- #setup ⇒ Object
- #setup_database ⇒ Object
Instance Method Details
#copy_config ⇒ Object
56 57 58 |
# File 'lib/generators/alchemy/install/install_generator.rb', line 56 def copy_config copy_file "#{gem_config_path}/config.yml", app_config_path.join("alchemy", "config.yml") end |
#copy_demo_views ⇒ Object
74 75 76 77 78 79 80 81 |
# File 'lib/generators/alchemy/install/install_generator.rb', line 74 def copy_demo_views return if [:skip_demo_files] copy_file "application.html.erb", app_views_path.join("layouts", "application.html.erb") copy_file "_article.html.erb", app_views_path.join("alchemy", "elements", "_article.html.erb") copy_file "_standard.html.erb", app_views_path.join("alchemy", "page_layouts", "_standard.html.erb") copy_file "alchemy.en.yml", app_config_path.join("locales", "alchemy.en.yml") end |
#copy_dragonfly_config ⇒ Object
83 84 85 86 87 88 89 |
# File 'lib/generators/alchemy/install/install_generator.rb', line 83 def copy_dragonfly_config template( "#{__dir__}/templates/dragonfly.rb.tt", app_config_path.join("initializers", "dragonfly.rb"), skip: [:auto_accept] ) end |
#copy_yml_files ⇒ Object
60 61 62 63 64 |
# File 'lib/generators/alchemy/install/install_generator.rb', line 60 def copy_yml_files %w[elements page_layouts menus].each do |file| template "#{__dir__}/templates/#{file}.yml.tt", app_config_path.join("alchemy", "#{file}.yml") end end |
#finalize ⇒ Object
112 113 114 115 116 117 118 119 120 |
# File 'lib/generators/alchemy/install/install_generator.rb', line 112 def finalize header say "Alchemy successfully installed!" say "Now start the server with:\n\n" say " bin/rails server\n\n" say "and point your browser to\n\n" say " http://localhost:3000/admin\n\n" say "and follow the onscreen instructions to finalize the installation.\n\n" end |
#install_assets ⇒ Object
66 67 68 69 70 71 72 |
# File 'lib/generators/alchemy/install/install_generator.rb', line 66 def install_assets copy_file "custom.css", app_assets_path.join("stylesheets/alchemy/admin/custom.css") sprockets_manifest = Rails.root.join("app/assets/config/manifest.js") if File.exist?(sprockets_manifest) append_to_file sprockets_manifest, "//= link alchemy/admin/custom.css\n" end end |
#install_gutentag_migrations ⇒ Object
91 92 93 |
# File 'lib/generators/alchemy/install/install_generator.rb', line 91 def install_gutentag_migrations rake "gutentag:install:migrations" end |
#mount ⇒ Object
50 51 52 53 54 |
# File 'lib/generators/alchemy/install/install_generator.rb', line 50 def mount return if [:skip_mount] install_tasks.inject_routes([:auto_accept]) end |
#set_primary_language ⇒ Object
95 96 97 98 99 100 101 102 |
# File 'lib/generators/alchemy/install/install_generator.rb', line 95 def set_primary_language header install_tasks.set_primary_language( code: [:default_language_code], name: [:default_language_name], auto_accept: [:auto_accept] ) end |
#setup ⇒ Object
44 45 46 47 48 |
# File 'lib/generators/alchemy/install/install_generator.rb', line 44 def setup header say "Welcome to AlchemyCMS!" say "Let's begin with some questions.\n\n" end |
#setup_database ⇒ Object
104 105 106 107 108 109 110 |
# File 'lib/generators/alchemy/install/install_generator.rb', line 104 def setup_database rake("db:create", abort_on_failure: true) unless [:skip_db_create] # We can't invoke this rake task, because Rails will use wrong engine names otherwise rake("alchemy:install:migrations", abort_on_failure: true) rake("db:migrate", abort_on_failure: true) install_tasks.inject_seeder end |