require 'erb' class NGINXProxy class << self attr_accessor :domain, :port, :service, :user, :willcard def willcard(value = nil) @willcard = value unless value.nil? @willcard end def domain(value = nil) @domain = value unless value.nil? @domain end def user(value = nil) @user = value unless value.nil? @user end def port(value = nil) @port = value unless value.nil? @port end # This is name of the daemon that will be installed # This is also master name user as user if not provided def service(value = nil) @service = value unless value.nil? @service end ## bundle exec rackup -s puma -b unix:///run/user/1000/http.sock def generate template_path = File.join(__dir__, 'data', 'templates', 'nginx', 'proxy.erb') template = File.read(template_path) template = ERB.new(template) template.result(binding) end def available_path "/etc/nginx/sites-available/#{service}.#{domain}" end def enabled_path "/etc/nginx/sites-available/#{service}.#{domain}" end def install config = generate File.write end end end