class Chef::Provider::Service::Gentoo
Public Instance Methods
define_resource_requirements()
click to toggle source
# File lib/chef/provider/service/gentoo.rb, line 48 def define_resource_requirements requirements.assert(:all_actions) do |a| a.assertion { ::TargetIO::File.exist?("/sbin/rc-update") } a.failure_message Chef::Exceptions::Service, "/sbin/rc-update does not exist" # no whyrun recovery -t his is a core component whose presence is # unlikely to be affected by what we do in the course of a chef run end requirements.assert(:all_actions) do |a| a.assertion { @found_script } # No failure, just informational output from whyrun a.whyrun "Could not find service #{@new_resource.service_name} under any runlevel" end end
disable_service()
click to toggle source
# File lib/chef/provider/service/gentoo.rb, line 67 def disable_service shell_out!("/sbin/rc-update del #{@new_resource.service_name} default") end
enable_service()
click to toggle source
# File lib/chef/provider/service/gentoo.rb, line 63 def enable_service shell_out!("/sbin/rc-update add #{@new_resource.service_name} default") end
load_current_resource()
click to toggle source
Calls superclass method
Chef::Provider::Service::Simple#load_current_resource
# File lib/chef/provider/service/gentoo.rb, line 27 def load_current_resource supports[:status] = true if supports[:status].nil? supports[:restart] = true if supports[:restart].nil? @found_script = false super @current_resource.enabled( TargetIO::Dir.glob("/etc/runlevels/**/#{Chef::Util::PathHelper.escape_glob_dir(@current_resource.service_name)}").any? do |file| @found_script = true exists = ::TargetIO::File.exist? file readable = ::TargetIO::File.readable? file logger.trace "#{@new_resource} exists: #{exists}, readable: #{readable}" exists && readable end ) logger.trace "#{@new_resource} enabled: #{@current_resource.enabled}" @current_resource end