Class: Alchemy::Upgrader::FivePointZero
- Inherits:
-
Alchemy::Upgrader
show all
- Includes:
- Rails::Generators::Actions, Thor::Actions, Thor::Base
- Defined in:
- lib/alchemy/upgrader/five_point_zero.rb
Constant Summary
Constants included
from Shell
Shell::COLORS
Class Method Summary
collapse
copy_new_config_file
Methods included from Shell
#add_todo, #desc, #display_todos, #log, silence!, silenced?, #todo, #todos, verbose!
Class Method Details
.add_npm_package ⇒ Object
58
59
60
|
# File 'lib/alchemy/upgrader/five_point_zero.rb', line 58
def add_npm_package
new.run "yarn add @alchemy_cms/admin@~#{Alchemy.version}"
end
|
.app_root ⇒ Object
68
69
70
|
# File 'lib/alchemy/upgrader/five_point_zero.rb', line 68
def app_root
@_app_root ||= Rails.root
end
|
.copy_alchemy_entry_point ⇒ Object
62
63
64
65
66
|
# File 'lib/alchemy/upgrader/five_point_zero.rb', line 62
def copy_alchemy_entry_point
webpack_config = YAML.load_file(app_root.join("config", "webpacker.yml"))[Rails.env]
new.copy_file "alchemy_admin.js",
app_root.join(webpack_config["source_path"], webpack_config["source_entry_path"], "alchemy/admin.js")
end
|
.install_gutentag_migrations ⇒ Object
18
19
20
21
22
23
|
# File 'lib/alchemy/upgrader/five_point_zero.rb', line 18
def install_gutentag_migrations
desc "Install Gutentag migrations"
Rake::Task["gutentag:install:migrations"].invoke
Alchemy::Upgrader::Tasks::HardenGutentagMigrations.new.patch_migrations
Rake::Task["db:migrate"].invoke
end
|
.remove_layout_roots ⇒ Object
25
26
27
28
29
30
31
32
33
34
35
36
|
# File 'lib/alchemy/upgrader/five_point_zero.rb', line 25
def remove_layout_roots
desc "Remove layout root pages"
layout_roots = Alchemy::Page.where(layoutpage: true).where("name LIKE 'Layoutroot for%'")
if layout_roots.size.positive?
log "Removing #{layout_roots.size} layout root pages."
layout_roots.delete_all
Alchemy::Page.where(layoutpage: true).update_all(parent_id: nil)
log "Done.", :success
else
log "No layout root pages found.", :skip
end
end
|
.remove_root_page ⇒ Object
38
39
40
41
42
43
44
45
46
47
48
|
# File 'lib/alchemy/upgrader/five_point_zero.rb', line 38
def remove_root_page
desc "Remove root page"
root_page = Alchemy::Page.find_by(parent_id: nil, name: "Root")
if root_page
Alchemy::Page.where(parent_id: root_page.id).update_all(parent_id: nil)
root_page.delete
log "Done.", :success
else
log "Root page not found.", :skip
end
end
|
.run_webpacker_installer ⇒ Object
50
51
52
53
54
55
56
|
# File 'lib/alchemy/upgrader/five_point_zero.rb', line 50
def run_webpacker_installer
unless File.exist? app_root.join("package.json")
in_root { run "echo '{}' > package.json" }
end
new.rake("webpacker:install", abort_on_failure: true)
end
|