178: def stop
179: job_path, job_plist = plist_from_label(resource[:name])
180: did_disable_job = false
181: cmds = []
182: cmds << :launchctl << :unload
183: if self.enabled? == :true
184: cmds << "-w"
185: did_disable_job = true
186: end
187: cmds << job_path
188: begin
189: execute(cmds)
190: rescue Puppet::ExecutionFailure
191: raise Puppet::Error.new("Unable to stop service: #{resource[:name]} at path: #{job_path}")
192: end
193:
194: self.enable if did_disable_job and resource[:enable] == :true
195: end