class Nginxtra::Actions::Convert
Public Instance Methods
convert()
click to toggle source
# File lib/nginxtra/actions/convert.rb, line 8 def convert @streams_to_close = [] converter = Nginxtra::ConfigConverter.new output converter.convert config: config, binary_status: binary_status save_if_necessary! ensure close_streams! end
Private Instance Methods
binary_status()
click to toggle source
# File lib/nginxtra/actions/convert.rb, line 44 def binary_status return if @thor.options["ignore-nginx-bin"] binary = if @thor.options["nginx-bin"] @thor.options["nginx-bin"] else etc_nginx_binary end @thor.run "#{binary} -V 2>&1", capture: true end
close_streams!()
click to toggle source
# File lib/nginxtra/actions/convert.rb, line 71 def close_streams! @streams_to_close.each(&:close) end
config()
click to toggle source
# File lib/nginxtra/actions/convert.rb, line 36 def config if @thor.options["input"] STDIN elsif @thor.options["nginx-conf"] open_file @thor.options["nginx-conf"] end end
etc_nginx_binary()
click to toggle source
# File lib/nginxtra/actions/convert.rb, line 56 def etc_nginx_binary raise Nginxtra::Error::NginxInitScriptMissing unless File.exist? "/etc/init.d/nginx" binary = File.read("/etc/init.d/nginx")[/\s*DAEMON\s*=\s*(.*?)\s*$/, 1] raise Nginxtra::Error::UndeterminedNginxBinary unless binary binary end
open_file(path)
click to toggle source
# File lib/nginxtra/actions/convert.rb, line 63 def open_file(path) raise Nginxtra::Error::ConvertFailed, "Missing config file #{path}" unless File.exist? path File.open(path, "r").tap do |stream| @streams_to_close << stream end end
output()
click to toggle source
# File lib/nginxtra/actions/convert.rb, line 19 def output if @thor.options["output"] STDOUT elsif @thor.options["config"] @output = @thor.options["config"] @stringio = StringIO.new else @output = "nginxtra.conf.rb" @stringio = StringIO.new end end
save_if_necessary!()
click to toggle source
# File lib/nginxtra/actions/convert.rb, line 31 def save_if_necessary! return unless @output && @stringio @thor.create_file @output, @stringio.string end