Class: CavalerieWeb::SetupManager
- Inherits:
-
Object
- Object
- CavalerieWeb::SetupManager
- Defined in:
- lib/cavalerie_web/managers/setup_manager.rb
Class Method Summary collapse
- .ask_for_root_privileges ⇒ Object
- .ensure_environment_variables_are_set ⇒ Object
- .ensure_required_folders_are_available ⇒ Object
- .ensure_required_plugins_are_installed ⇒ Object
- .ensure_vagrant_is_installed ⇒ Object
- .ensure_virtualbox_is_installed ⇒ Object
- .get_setup_status ⇒ Object
-
.initialize_system ⇒ Object
Initialization.
- .reset_setup_status ⇒ Object
- .update_setup_status(setup_status, value) ⇒ Object
Class Method Details
.ask_for_root_privileges ⇒ Object
16 17 18 |
# File 'lib/cavalerie_web/managers/setup_manager.rb', line 16 def self.ask_for_root_privileges run_sudo_command "echo 'Root access granted'" end |
.ensure_environment_variables_are_set ⇒ Object
46 47 48 49 50 51 52 53 54 55 |
# File 'lib/cavalerie_web/managers/setup_manager.rb', line 46 def self.ensure_environment_variables_are_set unset_environment_variables = [] Config.get_environment_variables.each do |environment_variable| unset_environment_variables << environment_variable[1][:name] unless ENV[environment_variable[1][:name]] end if unset_environment_variables.count > 0 abort Message.error "#{unset_environment_variables.count} environment variable(s) are unset. Please run \"cavalerie init\" to resolve this problem." end end |
.ensure_required_folders_are_available ⇒ Object
57 58 59 60 61 |
# File 'lib/cavalerie_web/managers/setup_manager.rb', line 57 def self.ensure_required_folders_are_available if missing_folders_paths = is_a_required_folder_unavailable? raise RequiredFolderUnavailableError, missing_folders_paths end end |
.ensure_required_plugins_are_installed ⇒ Object
38 39 40 41 42 43 44 |
# File 'lib/cavalerie_web/managers/setup_manager.rb', line 38 def self.ensure_required_plugins_are_installed if missing_plugins = is_a_required_plugin_missing? raise RequiredPluginMissingError, missing_plugins else update_setup_status "are_required_plugins_installed?", true end end |
.ensure_vagrant_is_installed ⇒ Object
20 21 22 23 24 25 26 27 |
# File 'lib/cavalerie_web/managers/setup_manager.rb', line 20 def self.ensure_vagrant_is_installed begin raise VagrantNotInstalledError unless is_vagrant_installed? update_setup_status "is_vagrant_installed?", true rescue VagrantNotInstalledError abort Message.error "Vagrant isn't installed. Please visit https://www.vagrantup.com for installation details." end end |
.ensure_virtualbox_is_installed ⇒ Object
29 30 31 32 33 34 35 36 |
# File 'lib/cavalerie_web/managers/setup_manager.rb', line 29 def self.ensure_virtualbox_is_installed begin raise VirtualBoxNotInstalledError unless is_virtualbox_installed? update_setup_status "is_virtualbox_installed?", true rescue VirtualBoxNotInstalledError abort Message.error "VirtualBox isn't installed. Please visit https://www.virtualbox.org/wiki/Downloads for installation details." end end |
.get_setup_status ⇒ Object
63 64 65 66 |
# File 'lib/cavalerie_web/managers/setup_manager.rb', line 63 def self.get_setup_status setup_status_file = File.read "#{$configs_path}/setup_status.json" parsed = JSON.parse setup_status_file end |
.initialize_system ⇒ Object
Initialization
6 7 8 9 10 11 12 13 14 |
# File 'lib/cavalerie_web/managers/setup_manager.rb', line 6 def self.initialize_system $sites_folder_path = ENV[Config.get_environment_variables[:sites][:name]] $shared_folder_path = ENV[Config.get_environment_variables[:shared][:name]] $mysql_folder_path = ENV[Config.get_environment_variables[:mysql][:name]] $export_folder_path = ENV[Config.get_environment_variables[:export][:name]] $credentials_folder_path = $shared_folder_path + "/_credentials" $samples_folder_path = $shared_folder_path + "/_samples" $db_dumps_folder_path = $shared_folder_path + "/_db_dumps" end |
.reset_setup_status ⇒ Object
75 76 77 78 79 |
# File 'lib/cavalerie_web/managers/setup_manager.rb', line 75 def self.reset_setup_status setup_status_file_default = "#{$configs_path}/setup_status.default.json" setup_status_file = "#{$configs_path}/setup_status.json" FileUtils.cp setup_status_file_default, setup_status_file end |
.update_setup_status(setup_status, value) ⇒ Object
68 69 70 71 72 73 |
# File 'lib/cavalerie_web/managers/setup_manager.rb', line 68 def self.update_setup_status setup_status, value setup_status_file = File.read "#{$configs_path}/setup_status.json" parsed = JSON.parse setup_status_file parsed[setup_status.to_s] = value File.open("#{$configs_path}/setup_status.json", 'w') { |file| file << parsed.to_json } end |