Module: Sudo

Defined in:
lib/sudo/configuration.rb,
lib/sudo.rb,
lib/sudo/proxy.rb,
lib/sudo/system.rb,
lib/sudo/wrapper.rb,
lib/sudo/constants.rb

Overview

Sudo module provides superuser privileges to Ruby objects

Defined Under Namespace

Modules: System Classes: Configuration, MethodProxy, Proxy, Wrapper

Constant Summary collapse

VERSION =
'0.4.0'
LIBDIR =
root.join('lib')
SERVER_SCRIPT =
root.join('libexec/server.rb')
SUDO_CMD =
`which sudo`.chomp
RUBY_CMD =
`which ruby`.chomp
ASK_PATH_CMD =
`which ssh-askpass`.chomp
RuntimeError =
Class.new(RuntimeError)

Class Method Summary collapse

Class Method Details

.as_root(**options, &block) ⇒ Object

Convenience method for simple root operations



6
7
8
# File 'lib/sudo.rb', line 6

def self.as_root(**options, &block)
  Wrapper.run(**options, &block)
end

.configurationObject



54
55
56
# File 'lib/sudo/configuration.rb', line 54

def configuration
  @configuration ||= Configuration.new
end

.configure {|configuration| ... } ⇒ Object

Yields:



58
59
60
# File 'lib/sudo/configuration.rb', line 58

def configure
  yield configuration
end

.reset_configuration!Object



62
63
64
# File 'lib/sudo/configuration.rb', line 62

def reset_configuration!
  @configuration = Configuration.new
end

.rootObject



6
7
8
# File 'lib/sudo/constants.rb', line 6

def self.root
  @root ||= Pathname.new(File.expand_path('../../', __dir__))
end