class Invoker::Power::Setup
Attributes
port_finder[RW]
tld[RW]
Public Class Methods
install(tld)
click to toggle source
# File lib/invoker/power/setup.rb, line 8 def self.install(tld) selected_installer_klass = installer_klass selected_installer_klass.new(tld).install end
installer_klass()
click to toggle source
# File lib/invoker/power/setup.rb, line 21 def self.installer_klass if Invoker.darwin? Invoker::Power::OsxSetup else Invoker::Power::LinuxSetup end end
new(tld)
click to toggle source
# File lib/invoker/power/setup.rb, line 29 def initialize(tld) if tld !~ /^[a-z]+$/ Invoker::Logger.puts("Please specify valid tld".colorize(:red)) exit(1) end self.tld = tld end
uninstall()
click to toggle source
# File lib/invoker/power/setup.rb, line 13 def self.uninstall if Invoker::Power::Config.has_config? power_config = Invoker::Power::Config.load_config selected_installer_klass = installer_klass selected_installer_klass.new(power_config.tld).uninstall_invoker end end
Public Instance Methods
build_power_config()
click to toggle source
Builds and returns power config hash. Override this method in subclasses if necessary.
# File lib/invoker/power/setup.rb, line 69 def build_power_config config = { http_port: port_finder.http_port, https_port: port_finder.https_port, tld: tld } config end
check_if_setup_can_run?()
click to toggle source
# File lib/invoker/power/setup.rb, line 58 def check_if_setup_can_run? !File.exist?(Invoker::Power::Config.config_file) end
create_config_file()
click to toggle source
# File lib/invoker/power/setup.rb, line 62 def create_config_file Invoker.setup_config_location config = build_power_config Invoker::Power::Config.create(config) end
drop_to_normal_user()
click to toggle source
# File lib/invoker/power/setup.rb, line 46 def drop_to_normal_user EventMachine.set_effective_user(ENV["SUDO_USER"]) end
find_open_ports()
click to toggle source
# File lib/invoker/power/setup.rb, line 50 def find_open_ports port_finder.find_ports() end
install()
click to toggle source
# File lib/invoker/power/setup.rb, line 37 def install if check_if_setup_can_run? setup_invoker else Invoker::Logger.puts("The setup has been already run.".colorize(:red)) end self end
remove_resolver_file()
click to toggle source
# File lib/invoker/power/setup.rb, line 78 def remove_resolver_file return if resolver_file.nil? begin safe_remove_file(resolver_file) rescue Errno::EACCES Invoker::Logger.puts("Running uninstall requires root access, please rerun it with sudo".colorize(:red)) raise end end
safe_remove_file(file)
click to toggle source
# File lib/invoker/power/setup.rb, line 88 def safe_remove_file(file) File.delete(file) if File.exist?(file) end