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
71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
# File 'lib/generators/alchemy/install/install_generator.rb', line 71 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.scss", app_assets_path.join("stylesheets", "alchemy", "elements", "article.scss") stylesheet_require = " *= require_tree ./alchemy/elements\n" if File.exist?(app_assets_path.join("stylesheets", "application.css")) insert_into_file app_assets_path.join("stylesheets", "application.css"), stylesheet_require, before: " */" else create_file app_assets_path.join("stylesheets", "application.css"), "/*\n#{stylesheet_require} */\n" end 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
90 91 92 93 94 95 96 |
# File 'lib/generators/alchemy/install/install_generator.rb', line 90 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
120 121 122 123 124 125 126 127 128 |
# File 'lib/generators/alchemy/install/install_generator.rb', line 120 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 |
# File 'lib/generators/alchemy/install/install_generator.rb', line 66 def install_assets copy_file "all.js", app_vendor_assets_path.join("javascripts", "alchemy", "admin", "all.js") copy_file "all.css", app_vendor_assets_path.join("stylesheets", "alchemy", "admin", "all.css") end |
#install_gutentag_migrations ⇒ Object
98 99 100 |
# File 'lib/generators/alchemy/install/install_generator.rb', line 98 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
102 103 104 105 106 107 108 109 |
# File 'lib/generators/alchemy/install/install_generator.rb', line 102 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
111 112 113 114 115 116 117 118 |
# File 'lib/generators/alchemy/install/install_generator.rb', line 111 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 rake("db:seed", abort_on_failure: true) end |