# class Chef::Provider::Service::Redhat

### Constants

CHKCONFIG_MISSING
CHKCONFIG_ON

### Public Class Methods

new(new_resource, run_context) click to toggle source
Calls superclass method Chef::Provider::Service::Init.new

    # File lib/chef/provider/service/redhat.rb, line 32
    def initialize(new_resource, run_context)
      super
       @init_command = "/sbin/service #{@new_resource.service_name}"
       @new_resource.supports[:status] = true
       @service_missing = false
    end

### Public Instance Methods

define_resource_requirements() click to toggle source

    # File lib/chef/provider/service/redhat.rb, line 39
    def define_resource_requirements
      shared_resource_requirements

      requirements.assert(:all_actions) do |a|
        chkconfig_file = "/sbin/chkconfig"
        a.assertion { ::File.exists? chkconfig_file  }
        a.failure_message Chef::Exceptions::Service, "#{chkconfig_file} does not exist!"
      end

      requirements.assert(:start, :enable, :reload, :restart) do |a|
        a.assertion { !@service_missing }
        a.failure_message Chef::Exceptions::Service, "#{@new_resource}: unable to locate the init.d script!"
        a.whyrun "Assuming service would be disabled. The init script is not presently installed."
      end
    end

disable_service() click to toggle source

    # File lib/chef/provider/service/redhat.rb, line 71
    def disable_service()
      shell_out! "/sbin/chkconfig #{@new_resource.service_name} off"
    end

enable_service() click to toggle source

    # File lib/chef/provider/service/redhat.rb, line 67
    def enable_service()
      shell_out! "/sbin/chkconfig #{@new_resource.service_name} on"
    end

load_current_resource() click to toggle source
Calls superclass method Chef::Provider::Service::Simple#load_current_resource

    # File lib/chef/provider/service/redhat.rb, line 55
    def load_current_resource
      super

      if ::File.exists?("/sbin/chkconfig")
        chkconfig = shell_out!("/sbin/chkconfig --list #{@current_resource.service_name}", :returns => [0,1])
        @current_resource.enabled(!!(chkconfig.stdout =~ CHKCONFIG_ON))
        @service_missing = !!(chkconfig.stderr =~ CHKCONFIG_MISSING)
      end

      @current_resource
    end