Sha256: 5055b38df06192b14956be3a8ace87de488a04482140081e3d0891f5e275188f
Contents?: true
Size: 1.38 KB
Versions: 3
Compression:
Stored size: 1.38 KB
Contents
module CapistranoExtensions module Service module LSB DEFAULT_ACTIONS = %w(status start stop restart) # Check for the existance of a generic Windows NT service. def lsb?(id) files.exists? "/etc/init.d/#{id.to_s.split(':').last}" end # Defines a recipe to control a generic LSB service. # def lsb(id,*args) options = Hash===args.last ? args.pop : {} svc_name = id.to_s svc_desc = next_description(:reset) || (svc_name.capitalize unless options.delete(:hide)) svc_actions = DEFAULT_ACTIONS svc_actions += args.pop if Array === args.last namespace id do case args.first when String; id = args.shift.intern when Symbol; id = args.shift end svc_cmd = "/etc/init.d/#{id.to_s.split(':').last}" desc "#{svc_desc}: #{SVC_ACTION_CAPTIONS[:status]}" if svc_desc task :default, options do sudo "#{svc_cmd} status" end svc_actions.each do |svc_action| svc_action = svc_action.intern if String === svc_action desc "#{svc_desc}: #{SVC_ACTION_CAPTIONS[svc_action]}" if svc_desc task svc_action, options do sudo "#{svc_cmd} #{svc_action}" end end instance_eval { yield } if block_given? end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems