class CertWatch::PemDirectoryInstaller
Public Class Methods
new(options)
click to toggle source
# File lib/cert_watch/pem_directory_installer.rb, line 3 def initialize(options) @pem_directory = options.fetch(:pem_directory) @input_directory = options.fetch(:input_directory) @reload_command = options[:reload_command] end
Public Instance Methods
install(_domain)
click to toggle source
# File lib/cert_watch/installer.rb, line 3 def install(_domain) fail(NotImplementedError) end
Private Instance Methods
check_inputs_exist(domain)
click to toggle source
# File lib/cert_watch/pem_directory_installer.rb, line 24 def check_inputs_exist(domain) Shell.sudo("ls #{input_files(domain)}") rescue Shell::CommandFailed fail(InstallError, "Input files '#{input_files(domain)}' do not exist.") end
input_files(domain)
click to toggle source
# File lib/cert_watch/pem_directory_installer.rb, line 34 def input_files(domain) ['fullchain.pem', 'privkey.pem'].map do |file_name| File.join(@input_directory, domain, file_name) end.join(' ') end
pem_file(domain)
click to toggle source
# File lib/cert_watch/pem_directory_installer.rb, line 40 def pem_file(domain) File.join(@pem_directory, "#{domain}.pem") end
perform_reload_command()
click to toggle source
# File lib/cert_watch/pem_directory_installer.rb, line 44 def perform_reload_command return unless @reload_command sudo(@reload_command) end
sudo(command)
click to toggle source
# File lib/cert_watch/pem_directory_installer.rb, line 49 def sudo(command) Shell.sudo(command) rescue Shell::CommandFailed => e fail(InstallError, e.message) end
write_pem_file(domain)
click to toggle source
# File lib/cert_watch/pem_directory_installer.rb, line 30 def write_pem_file(domain) sudo("cat #{input_files(domain)} > #{pem_file(domain)}") end