module Nginxtra::Action
Attributes
ignore_force[RW]
Public Class Methods
new(thor, config)
click to toggle source
# File lib/nginxtra/action.rb, line 3 def initialize(thor, config) @thor = thor @config = config end
Public Instance Methods
daemon(action, additional_options = nil)
click to toggle source
Run a daemon command to start or stop the nginx process.
# File lib/nginxtra/action.rb, line 9 def daemon(action, additional_options = nil) action = "#{action} #{additional_options}" if additional_options run! "#{sudo}start-stop-daemon --#{action} --quiet --pidfile #{Nginxtra::Config.nginx_pidfile} --exec #{Nginxtra::Config.nginx_executable}" end
Private Instance Methods
force?()
click to toggle source
# File lib/nginxtra/action.rb, line 28 def force? return false if Nginxtra::Action.ignore_force @thor.options["force"] end
interactive?()
click to toggle source
# File lib/nginxtra/action.rb, line 33 def interactive? !non_interactive? end
non_interactive?()
click to toggle source
# File lib/nginxtra/action.rb, line 37 def non_interactive? @thor.options["non-interactive"] end
run!(command)
click to toggle source
# File lib/nginxtra/action.rb, line 16 def run!(command) @thor.run command raise Nginxtra::Error::RunFailed, "The last run command failed" unless $?.success? # rubocop:disable Style/SpecialGlobalVars end
sudo(force = false)
click to toggle source
# File lib/nginxtra/action.rb, line 41 def sudo(force = false) "sudo " if (force || (@config && @config.require_root?)) && Process.uid != 0 end
without_force() { || ... }
click to toggle source
# File lib/nginxtra/action.rb, line 21 def without_force Nginxtra::Action.ignore_force = true yield ensure Nginxtra::Action.ignore_force = false end